EF CodeFirst 表的命名不正确

EF CodeFirst Tables are being named incorrectly

table 未在数据库中按应命名的方式命名。这是上下文:

A​​pplicationDBContext:

public IDbSet<Artwork> Artwork { get; set; }

在数据库中,table 应该被命名为 Artwork,但它没有被命名为 Artworks(我之前将它命名为这样,但现在当我试图将它命名为 Artwork 时,它仍然是 "Artworks")。我试图删除并再次创建它但没有任何反应。谁能给我解释一下为什么会这样?

谢谢,

马吕斯·J.

默认情况下,Entity Framework 使用 Pluralizing Table Name Convention 设置 table 个名称。

您可以在 OnModelCreating 方法中删除它:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{    
    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}

或显式映射 table 名称:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{    
    modelBuilder.Entity<Artwork>().ToTable("Artwork");
}