/// <summary>Create mapping propviders from mapping attributes.</summary> public override IEnumerable <IEntityMappingProvider> GetMappingProviders() { var type = typeof(IRdfListNode <object>); var restMapping = new PropertyMappingProvider(Rdf.rest, type.GetProperty("Rest"), null); restMapping.ConverterType = typeof(AsEntityConverter <IRdfListNode <object> >); var firstMapping = new PropertyMappingProvider(Rdf.first, type.GetProperty("First"), null); firstMapping.ConverterType = typeof(FallbackNodeConverter); yield return(new EntityMappingProvider(typeof(IRdfListNode <object>), new IClassMappingProvider[0], new[] { restMapping, firstMapping })); }
private static PropertyMappingProvider CreatePropertyMapping(PropertyMapBase propertyMap, ILogger log) { PropertyMappingProvider propertyMappingProvider; if (propertyMap.TermUri != null) { propertyMappingProvider = new PropertyMappingProvider(propertyMap.TermUri, propertyMap.PropertyInfo, log); } else { propertyMappingProvider = new PropertyMappingProvider(propertyMap.NamespacePrefix, propertyMap.TermName, propertyMap.PropertyInfo, log); } if (propertyMap.ConverterType != null) { propertyMappingProvider.ConverterType = propertyMap.ConverterType; } return(propertyMappingProvider); }
private static PropertyMappingProvider CreatePropertyMapping(PropertyAttribute propertyAttribute, PropertyInfo property, ILogger log) { PropertyMappingProvider propertyMappingProvider; if (propertyAttribute.Uri != null) { propertyMappingProvider = new PropertyMappingProvider(propertyAttribute.Uri, property, log); } else { propertyMappingProvider = new PropertyMappingProvider(propertyAttribute.Prefix, propertyAttribute.Term, property, log); } if (propertyAttribute.ConverterType != null) { propertyMappingProvider.ConverterType = propertyAttribute.ConverterType; } return(propertyMappingProvider); }