我经常遇到以下情况,实体框架代码首次迁移。我添加了一些迁移并成功更新了数据库。稍后我希望添加新迁移时,Add-Migration命令会抱怨其“无法生成显式迁移,因为以下显式迁移正在等待......”。即,它似乎忘记了它之前已经应用了这些迁移,因此它们现在不应被视为待定。如果我尝试解决此问题,Update-Database会指示“无法更新数据库以匹配当前模型,因为有[新]待处理的更改...”。我不明白为什么EF迁移不同步,因为我只是对模型进行了更改。
答案 0 :(得分:10)
对我来说,问题是我们已经重命名了迁移2014123456_Initial.cs的命名空间。
但VS没有在其关联的2014123456_Initial.Designer.cs中重新生成名称空间。
一旦Designer.cs被更改为使用相同的命名空间,它就会重新开始工作。
答案 1 :(得分:0)
我遇到了同样的问题,解决方案是:
这几乎与使用Build菜单中的Rebuild Solution选项相同。
答案 2 :(得分:0)
我遇到了完全相同的问题,无法解决。
要添加到IamDOM解决方案,请还添加一个空的迁移并更新数据库。
例如:
添加迁移测试
更新数据库
现在对我有用了几次。
答案 3 :(得分:0)
我发现VS由于某种原因感到困惑,实际上并未将迁移内容添加到.csproj中。关闭,重新打开VS,然后将迁移内容重新包含到项目中,并保存所有工作。