如何仅为单个表/DbSet 切换此约定 PluralizingTableNameConvention
?据我所知,我只能对给定 DbContext
DbSets
执行此操作
最佳答案
如果只有一个实体映射到非复数形式的表,则可以删除 PluralizingTableNameConvention
并手动配置实体的表名称。
public class MyContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<Item>().ToTable("Items");
}
}
反之亦然
public class MyContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Item>().ToTable("Item");
}
}
关于c# - 一个 DbSet 的 EF 代码优先 PluralizingTableNameConvention,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222943/