Database EF CodeFirst表的命名不正确
该表在数据库中的命名与预期的命名不同。以下是上下文: 应用程序上下文:Database EF CodeFirst表的命名不正确,database,entity-framework,code-first,Database,Entity Framework,Code First,该表在数据库中的命名与预期的命名不同。以下是上下文: 应用程序上下文: public IDbSet<Artwork> Artwork { get; set; } public IDbSet Artwork{get;set;} 在数据库中,该表应命名为Artwork,而不是Artworks(我以前将其命名为Artworks,但现在我尝试将其命名为Artwork,它仍然是“Artworks”)。我试着放弃并再次创建它,但什么都没有发生。有人能解释一下为什么会发生这种情况吗 谢谢, M
public IDbSet<Artwork> Artwork { get; set; }
public IDbSet Artwork{get;set;}
在数据库中,该表应命名为Artwork,而不是Artworks(我以前将其命名为Artworks,但现在我尝试将其命名为Artwork,它仍然是“Artworks”)。我试着放弃并再次创建它,但什么都没有发生。有人能解释一下为什么会发生这种情况吗
谢谢,
Marius J.默认情况下,实体框架使用设置表名 您可以在
OnModelCreating
方法中删除它,不过:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Conventions.Remove();
}
或显式映射表名:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Artwork>().ToTable("Artwork");
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity().ToTable(“Artwork”);
}