添加迁移错误

时间:2017-05-17 07:46:26

标签: asp.net-mvc entity-framework asp.net-identity identity

几个星期前,我在我的项目上启用了迁移,并在AspNetUsers表中添加了一个“ClientID”列。

现在我正在尝试添加另一列:“名称”。

我在程序包管理器控制台中运行了此命令:

PM> Add-Migration "Name"

我收到以下错误:

  

无法生成显式迁移,因为以下内容   显式迁移待定:[20161081751088_InitialCreate,   20161091825212_ClientID。应用挂起的显式迁移   在尝试生成新的显式迁移之前。

我运行了更新命令:

PM> Update-Database

可是:

  

数据库中已经有一个名为“AspNetRoles”的对象。

我在网上研究并找到了这个解决方案:

PM> Add-Migration InitialMigrations -IgnoreChanges

然后我又遇到了第一个错误:

  

无法生成显式迁移,因为以下内容   显式迁移待定:[20161081751088_InitialCreate,   20161091825212_ClientID。应用挂起的显式迁移   在尝试生成新的显式迁移之前。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

  1. 删除项目中的Migrations文件夹

  2. 从数据库中删除_MigrationHistory表。

  3. 从程序包管理器控制台运行Enable-Migrations命令。
  4. 运行Add-Migration Init命令以创建迁移。
  5. 删除Up()函数中的所有代码行以进行初始迁移。 (创建空迁移并解决您所面临的错误。)
  6. 运行Update-Database命令以应用空迁移。
  7. 更改代码第一个模型,以准备添加实际迁移。
  8. 运行Add-Migration InitNew命令以创建新的迁移。
  9. 运行Update-Database命令以应用更改。