EF代码优先pluralizingtablenamconvention for ONE DbSet

本文关键字:for ONE DbSet pluralizingtablenamconvention 代码 EF | 更新日期: 2023-09-27 18:15:18

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

EF代码优先pluralizingtablenamconvention for ONE DbSet

,我只能对所有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");
    }
 }