Entity Framework 删除约定

示例

您可以通过重写OnModelCreating方法来删除System.Data.Entity.ModelConfiguration.Conventions命名空间中定义的任何约定。

下面的示例删除PluralizingTableNameConvention。

public class EshopContext : DbContext 
{ 
    public DbSet<Product> Products { set; get; }
    . . . 
 
    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
    } 
}

默认情况下,EF会创建带有后缀为“ s”的实体类名称的数据库表。在此示例中,“代码优先”配置为忽略PluralizingTableName约定,因此将创建表表而不是dbo.Products表dbo.Product。