【发布时间】:2019-08-15 16:31:48
【问题描述】:
我在 Entity Framework 代码首次迁移时经常遇到以下情况。我添加了一些迁移并成功地用它们更新了数据库。当稍后我希望添加新迁移时,Add-Migration 命令抱怨它“无法生成显式迁移,因为以下显式迁移正在等待......”。即,它似乎忘记了它之前已经应用了这些迁移,因此现在不应将它们视为待处理。如果我尝试解决此问题,Update-Database 会指示“无法更新数据库以匹配当前模型,因为有 [新] 未决更改...”。我不明白为什么 EF 迁移会不同步,因为我只是对模型进行更改。
【问题讨论】:
-
不确定它会有多大帮助,但请参阅此问题/答案:stackoverflow.com/questions/16952413/…
-
谢谢史蒂夫。看来此问题是由 VS 2013 错误引起的,即当删除引用然后从数据库上下文项目的 bin 文件夹中再次添加时,VS 2013 没有正确更新 DLL 引用(而不是项目引用) (即使在两者之间调用了 Clean Solution)。即使在后续编译之后,引用项目的 bin 也不会显示更新的数据库上下文 DLL。因此,DLL 的模型与已由数据上下文项目更新的数据库相比已过时。
-
您应该将其发布为您自己问题的答案,这样当其他人搜索它时,他们可能会找到您的解释。
标签: entity-framework entity-framework-migrations