ef6数据库迁移更改表名

时间:2014-08-28 07:15:14

标签: entity-framework database-migration

我首先使用EF6代码和数据库迁移来保持新数据库的日期。 我想将其中一个数据库表的名称从“contacts”更改为“contact”。

所以在EF中我更改了类的名称,在自定义的DBContext类中,我将Contacts重命名为Contact,现在它正在显示;

public DbSet<Contact> Contact { get; set; }

但是,我使用Update-Database -Verbose -Force运行数据库迁移,并且不进行任何更改。 为了找出发生了什么,我在其中添加了一个新字段,它尝试更新Contacts表而不是它需要创建的Contact。 那么我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

尝试删除多元化:

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

答案 1 :(得分:0)

我找到了答案,即在类声明中使用以下属性;

[Table("Contact")]