我在进行 Entity Framework 代码优先迁移时经常遇到以下情况。我添加了一些迁移,并成功地用它们更新了数据库。稍后,当我希望添加新的迁移时,Add-Migration命令会提示其“无法生成显式迁移,因为以下显式迁移正在等待中……”。也就是说,似乎忘记了它以前已经应用了这些迁移,因此现在不应将其视为待处理。如果我尝试解决此问题,则Update-Database指示“由于存在[新]待更改,因此无法更新数据库以匹配当前模型...”。我不明白为什么EF迁移不同步,因为我只对模型进行了更改。

最佳答案

对我而言,问题在于我们已将迁移2014123456_Initial.cs的命名空间重命名。
但是,VS尚未在与其关联的2014123456_Initial.Designer.cs中重新生成 namespace 。

将Designer.cs更改为使用相同的 namespace 后,它们又重新开始工作。

关于entity-framework - EF Add-Migration指示 “No pending explicit migrations”,但Update-Database提示 “..there are pending changes”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20110670/

10-15 06:16