C# 一个数据库集的EF代码优先复数表名约定

C# 一个数据库集的EF代码优先复数表名约定,c#,entity-framework-4,entity-framework-4.1,C#,Entity Framework 4,Entity Framework 4.1,如何仅为单个表/DbSet切换此约定?据我所知,对于给定的DbContext,我只能对所有dbset执行此操作。如果只有一个实体映射到未多重化的表,则可以删除pluralizingtablename约定,并手动配置该实体的表名 public class MyContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModel

如何仅为单个表/DbSet切换此约定?据我所知,对于给定的
DbContext

,我只能对所有
dbset
执行此操作。如果只有一个实体映射到未多重化的表,则可以删除
pluralizingtablename约定
,并手动配置该实体的表名

public class MyContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        modelBuilder.Entity<Item>().ToTable("Items");
    }
 }
公共类MyContext:DbContext
{
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Conventions.Remove();
modelBuilder.Entity().ToTable(“项”);
}
}
或者如果是另一种情况

public class MyContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<Item>().ToTable("Item");
    }
 }
公共类MyContext:DbContext
{
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity().ToTable(“项”);
}
}