该表未在DB中命名,因为它应该被命名。以下是上下文:
ApplicationDBContext:
public IDbSet<Artwork> Artwork { get; set; }
在数据库中,表格应该被命名为Artwork,但是它被命名为Artworks(之前我将它命名为这样,但现在当我试图将它命名为Artwork时,它仍然是“艺术品”) 。我试图放弃并再次创建它,没有任何反应。有人能解释一下为什么会出现这种情况吗?
谢谢,
Marius J。
答案 0 :(得分:2)
默认情况下,Entity Framework使用Pluralizing Table Name Convention设置表名。
您可以使用OnModelCreating
方法删除它:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
或明确映射表名:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Artwork>().ToTable("Artwork");
}