您可以通过重写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。