EF-код PluralizingTableNameConvention для ОДНОГО DbSet - PullRequest
14 голосов
/ 22 ноября 2011

Как мне переключить это соглашение PluralizingTableNameConvention только для одной таблицы / DbSet? Насколько я могу сказать, я могу сделать это только для всех DbSets для данного DbContext

1 Ответ

26 голосов
/ 22 ноября 2011

Если у вас есть только одна сущность, которая сопоставлена ​​с таблицей, которая не является множественной, то вы можете удалить 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");
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...