Dno*_*r96 2 c# asp.net-mvc ef-code-first entity-framework-6
当尝试在本地运行 ASP.NET MVC 应用程序时,一切正常。但是一旦我部署了Azure,它就会不断地给我错误:
无法更新数据库以匹配当前模型,因为存在挂起的更改并且自动迁移被禁用。
因此,我使用 Visual Studio 中的包管理器控制台连接到远程数据库并运行 Update-Database 命令。这给了我同样的错误。当我查看 SQL Server Management Studio 内的数据库时,看起来所有迁移都已应用。
因此,在此之后,我尝试运行 Add-Migration 来查看是否有任何我没有注意到的更改。它创建的迁移与前两个迁移完全相同(其中没有任何内容不属于这些迁移之一)。
到目前为止,该网站运行了大约两周,其中包括一些迁移,运行良好。我不知道如何解决这个问题,因此非常感谢您的帮助。
我确信我正在连接到正确的数据库,因为当我将其更新到目标迁移时,我看到它发生了变化。我也瞄准了正确的项目。
如果您确定Add-Migration已应用的更改创建脚本,则需要更新数据库的迁移状态。您可以通过添加空迁移来完成此操作。这将捕获当前模型的状态。
Add-Migration MergeChanges \xe2\x80\x93IgnoreChanges \nRun Code Online (Sandbox Code Playgroud)\n\n运行此命令后,您将得到一个空的迁移脚本。现在您可以更新数据库以匹配模型状态。由于实际迁移不包含任何更改,因此它只会向 __MigrationsHistory 表添加一行,指示此迁移已应用。
\n\n笔记仅当您没有任何挂起的更改但您看到更新数据库的错误消息时才运行此命令。
\n| 归档时间: |
|
| 查看次数: |
4052 次 |
| 最近记录: |