ChiakiYu.EntityFramework.ChiakiYuDbContext.OnModelCreating C# (CSharp) Method

OnModelCreating() protected method

protected OnModelCreating ( DbModelBuilder modelBuilder ) : void
modelBuilder DbModelBuilder
return void
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //移除一对多的级联删除
            modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();

            //注册实体配置信息
            var typesToRegister = Assembly.GetExecutingAssembly().GetTypes()
                .Where(type => !string.IsNullOrEmpty(type.Namespace))
                .Where(type => type.BaseType != null && type.BaseType.IsGenericType &&
                               (type.BaseType.GetGenericTypeDefinition() == typeof (EntityConfiguration<,>) ||
                                type.BaseType.GetGenericTypeDefinition() == typeof (ComplexConfiguration<,>)));
            foreach (var type in typesToRegister)
            {
                dynamic configurationInstance = Activator.CreateInstance(type);
                modelBuilder.Configurations.Add(configurationInstance);
            }
            base.OnModelCreating(modelBuilder);

            ////注册实体配置信息
            //var assemblys = DatabaseInitializer.MapperAssemblies;
            //foreach (var assembly in assemblys)
            //{
            //    modelBuilder.Configurations.AddFromAssembly(assembly);
            //}
        }