添加迁移时出错



几周前,我在项目上启用了迁移,并在AspNetUsers表中添加了一列"ClientID"。

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

我在包管理器控制台中运行了以下命令:

PM> Add-Migration "Name"

我收到以下错误:

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

我运行了一个更新命令:

PM> Update-Database

但:

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

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

PM> Add-Migration InitialMigrations -IgnoreChanges

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

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

如何解决这个问题?

  1. 删除项目中的"迁移"文件夹

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

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

首先请尝试这些:

  • 1-清理项目根目录
  • 2-关闭视觉工作室
  • 3-重新打开VS并打开解决方案
  • 4-建造它。
  • 5-完全删除实体文件夹下的迁移文件夹
  • 6-移除桌子 从数据库_projectnameMigrations
  • 7-在VS中打开PMC
  • 8-启用迁移
  • 9-添加迁移mig_Myinit
  • 10- (!重要)清除up方法并将其设为空
  • 11-更新数据库
  • 12- 完成

您的下一次迁移... 要点是,如果从数据库中手动删除表,则实体框架无法识别它,默认情况下它是可访问的,因此在使用 EF 时,必须从 pmc 执行任何与数据库相关的任务。

相关内容

  • 没有找到相关文章

最新更新