public EntityMetadataBuilder CopyFrom(EntityMetadataBuilder source) { if (source.TypeInfo.ClrType != TypeInfo.ClrType) { throw new NotSupportedException("The provided Source MetadataBuilder is for a differenct entity"); } foreach (var item in source.Properties) { var targetProperty = this.Property(item.Name, item.PropertyType.ClrType); targetProperty.CopyFrom(item); } foreach (var item in source.PrimaryKey) { this.PrimaryKey.Add(item); } foreach (var item in source.Navigations) { var targetNavigation = this.Navigation(item.Name); targetNavigation.CopyFrom(item); } if (source.BaseEntity != null) { BaseEntity = ModelBuilder.Entity(source.BaseEntity.TypeInfo.ClrType); } return(this); }
public EntityMetadataBuilder(EntityMetadataBuilder innerBuilder) { _innerBuilder = innerBuilder; }