迁移到 MVC6/EF7:PluralizingTableNameConvention
Migrating to MVC6 / EF7: PluralizingTableNameConvention
我正在将我的 MVC5 应用程序迁移到 MVC6。目前我正在使用两个约定
public class RentABikeDbContext : DbContext
{
...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
}
但是 MVC6/EF7 中似乎没有新 Microsoft.Data.Entity.ModelBuilder class 中的约定 属性。指定约定的正确 EF7 方法是什么?
Entity Framework 7 没有任何内置的复数形式,所以没有什么可以删除的,级联删除还没有实现 https://github.com/aspnet/EntityFramework/issues/333
遍历所有实体,获取外键,并将它们设置为 Delete Restricted:
foreach (var relationship in builder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()))
{
relationship.DeleteBehavior = DeleteBehavior.Restrict;
}
我正在将我的 MVC5 应用程序迁移到 MVC6。目前我正在使用两个约定
public class RentABikeDbContext : DbContext
{
...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
}
但是 MVC6/EF7 中似乎没有新 Microsoft.Data.Entity.ModelBuilder class 中的约定 属性。指定约定的正确 EF7 方法是什么?
Entity Framework 7 没有任何内置的复数形式,所以没有什么可以删除的,级联删除还没有实现 https://github.com/aspnet/EntityFramework/issues/333
遍历所有实体,获取外键,并将它们设置为 Delete Restricted:
foreach (var relationship in builder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()))
{
relationship.DeleteBehavior = DeleteBehavior.Restrict;
}