public static void CopyMetadata(Type from, Type to) { var toBuilder = FluentMetadataBuilder.GetTypeBuilder(to); var nameBuilder = new PropertyNameMetadataBuilder(from); foreach (var namedMetaData in nameBuilder.NamedMetaData) { var propertyInfo = to.GetProperty(namedMetaData.PropertyName); if (propertyInfo != null) { toBuilder.MapProperty(to, namedMetaData.PropertyName, namedMetaData.Metadata); } } query.GetMetadataFor(to).CopyMetaDataFrom(query.GetMetadataFor(from)); }
internal static void CopyMetadata(Type source, Type target) { FluentMetadataBuilder.RegisterDependency(source, target); var targetBuilder = FluentMetadataBuilder.GetTypeBuilder(target); //copy property metadata foreach (var sourcePropertyMetaData in new PropertyNameMetadataBuilder(source).NamedMetaData) { if (target.GetProperties().Count(p => p.Name == sourcePropertyMetaData.PropertyName) > 0) { targetBuilder.MapProperty(target, sourcePropertyMetaData.PropertyName, sourcePropertyMetaData.Metadata); } } //copy type metadata QueryFluentMetadata.GetMetadataFor(target).CopyMetaDataFrom(QueryFluentMetadata.GetMetadataFor(source)); }
public static void CopyMappedMetadata(Type source, Type target, IEnumerable <MemberMap> memberMaps) { FluentMetadataBuilder.RegisterDependency(source, target); var targetBuilder = FluentMetadataBuilder.GetTypeBuilder(target); //copy property metadata foreach (var sourcePropertyMetaData in new PropertyNameMetadataBuilder(source).NamedMetaData) { var memberMap = memberMaps.SingleOrDefault(mm => mm.SourceName == sourcePropertyMetaData.PropertyName); if (memberMap != null) { targetBuilder.MapProperty(target, memberMap.DestinationName, sourcePropertyMetaData.Metadata); } } //copy type metadata QueryFluentMetadata.GetMetadataFor(target).CopyMetaDataFrom(QueryFluentMetadata.GetMetadataFor(source)); }
public static Metadata GetMetadataFor(Type type) { return(FluentMetadataBuilder.GetTypeBuilder(type).Metadata); }
public Metadata GetMetadataFor(Type type) { var builder = FluentMetadataBuilder.GetTypeBuilder(type); return(builder.Metadata); }
private static TypeMetadataBuilder <TBuilder> GetTypeBuilder <TBuilder>() { return((TypeMetadataBuilder <TBuilder>)FluentMetadataBuilder.GetTypeBuilder <TBuilder>()); }
static TypeMetadataBuilder <TBuilder> GetTypeBuilder <TBuilder>() { return(FluentMetadataBuilder.GetTypeBuilder <TBuilder>()); }