Exemple #1
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            foreach (var entityType in modelBuilder.Model.GetEntityTypes())
            {
                ConfigureGlobalFiltersMethodInfo
                .MakeGenericMethod(entityType.ClrType)
                .Invoke(this, new object[] { modelBuilder, entityType });

                foreach (var property in entityType.GetProperties())
                {
                    if (property.ClrType.IsEnum)
                    {
                        var attrs = property.PropertyInfo.GetCustomAttribute(typeof(EnumToStringAttribute));
                        if (attrs != null)
                        {
                            ApplyEnumToStringMethodInfo
                            .MakeGenericMethod(entityType.ClrType, property.ClrType)
                            .Invoke(this, new object[] { modelBuilder, property });
                        }
                    }
                }
            }
        }
 protected override void OnModelCreating(ModelBuilder modelBuilder)
 {
     base.OnModelCreating(modelBuilder);
     foreach (var entityType in modelBuilder.Model.GetEntityTypes())
     {
         if (entityType.ClrType.BaseType == typeof(BaseEntity))
         {
             ConfigureGlobalFiltersMethodInfo
             .MakeGenericMethod(entityType.ClrType)
             .Invoke(this, new object[] { modelBuilder });
         }
     }
 }
Exemple #3
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            foreach (var relationship in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()))
            {
                relationship.DeleteBehavior = DeleteBehavior.Restrict;
            }
            modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());

            base.OnModelCreating(modelBuilder);

            foreach (var entityType in modelBuilder.Model.GetEntityTypes())
            {
                ConfigureGlobalFiltersMethodInfo
                .MakeGenericMethod(entityType.ClrType)
                .Invoke(this, new object[] { modelBuilder, entityType });
            }
        }
Exemple #4
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            ////自动创建数据库表Person
            //modelBuilder.Entity<Community>().ToTable("Community", "dbo");
            //modelBuilder.Entity<House>().ToTable("House", "dbo");
            //modelBuilder.Entity<Owner>().ToTable("Owner", "dbo");
            //base.OnModelCreating(modelBuilder);
            // DbContext 模型创建的时候
            base.OnModelCreating(modelBuilder);

            // 遍历所有 DbContext 定义的实体
            foreach (var entityType in modelBuilder.Model.GetEntityTypes())
            {
                ConfigureGlobalFiltersMethodInfo
                .MakeGenericMethod(entityType.ClrType)
                .Invoke(this, new object[] { modelBuilder, entityType });
            }
        }