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);
//}
}