EF代码优先为一个DbSet的PluralizingTableNameConvention

Geo*_*e R 14 c# entity-framework-4 entity-framework-4.1

如何PluralizingTableNameConvention仅针对单个表/ DbSet 切换此约定?至于我可以告诉大家,我只能做到这一切DbSets对于一个给定DbContext

Era*_*nga 26

如果只有一个实体映射到未复数的表,则可以删除PluralizingTableNameConvention并手动配置实体的表名.

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

        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        modelBuilder.Entity<Item>().ToTable("Items");
    }
 }
Run Code Online (Sandbox Code Playgroud)

或者如果它是相反的

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

        modelBuilder.Entity<Item>().ToTable("Item");
    }
 }
Run Code Online (Sandbox Code Playgroud)