} //=> Collection<City>(); protected override void CreateModel(IVfpModelBuilder modelBuilder) { base.CreateModel(modelBuilder); modelBuilder.Entity <City>(b => { b.CollectionName = "MyCities"; }); }
protected virtual void BuildModelFromDbContextCollectionProperty(IVfpModelBuilder modelBuilder, PropertyInfo collectionProperty) { var entityType = collectionProperty.PropertyType.GenericTypeArguments[0]; var collectionAttribute = collectionProperty.GetCustomAttributes().OfType <VfpCollectionAttribute>().FirstOrDefault(); modelBuilder.Entity(entityType, b => { b.CollectionName = collectionAttribute?.CollectionName ?? collectionProperty.Name; }); }
protected virtual void BuildModelFromDbContextType(IVfpModelBuilder modelBuilder, Type dbContextType) { var collectionProperties = from property in dbContextType.GetTypeInfo().GetProperties(BindingFlags.Public | BindingFlags.Instance) where ReflectionHelper.IsAssignableToGenericType(property.PropertyType, typeof(DbSet <>)) && typeof(IEntity).IsAssignableFrom(property.PropertyType.GenericTypeArguments[0]) select property; foreach (var collectionProperty in collectionProperties) { BuildModelFromDbContextCollectionProperty(modelBuilder, collectionProperty); } }
protected internal virtual void CreateModel(IVfpModelBuilder modelBuilder) { }
protected virtual void BuildModelFromDbContextInstance(IVfpModelBuilder modelBuilder, AbpVfpContext dbContext) { dbContext.CreateModel(modelBuilder); }