2015-02-08 70 views
1

该表未在数据库中命名,因为它应该被命名。这里是上下文:EF CodeFirst表正被命名不正确

ApplicationDBContext:

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

在数据库中,表应该命名为艺术品,但不是它被命名为艺术品(我之前命名这个样子,但现在当我'试图命名它只是艺术品,它仍然是“艺术品”)。我试图放弃并重新创建它,没有任何反应。有人能解释为什么会出现这种情况吗?

谢谢

马吕斯J.

回答

2

默认情况下,实体框架使用Pluralizing Table Name Convention设置表名。

您可以在OnModelCreating方法,虽然其删除:

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

或MAP明确表名:

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