Первый код EF-кода для множественного использованияNameConvention для ONE DbSet

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

Ответ 1

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