EF CodeFirst 表的命名不正确
EF CodeFirst Tables are being named incorrectly
table 未在数据库中按应命名的方式命名。这是上下文:
ApplicationDBContext:
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");
}
table 未在数据库中按应命名的方式命名。这是上下文:
ApplicationDBContext:
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");
}