EF添加迁移表示"没有待定的显式迁移"但更新 - 数据库抱怨" ..有待更改"

时间:2013-11-21 01:23:26

标签: entity-framework ef-migrations

我经常遇到以下情况,实体框架代码首次迁移。我添加了一些迁移并成功更新了数据库。稍后我希望添加新迁移时,Add-Migration命令会抱怨其“无法生成显式迁移,因为以下显式迁移正在等待......”。即,它似乎忘记了它之前已经应用了这些迁移,因此它们现在不应被视为待定。如果我尝试解决此问题,Update-Database会指示“无法更新数据库以匹配当前模型,因为有[新]待处理的更改...”。我不明白为什么EF迁移不同步,因为我只是对模型进行了更改。

4 个答案:

答案 0 :(得分:10)

对我来说,问题是我们已经重命名了迁移2014123456_Initial.cs的命名空间。
但VS没有在其关联的2014123456_Initial.Designer.cs中重新生成名称空间。

一旦Designer.cs被更改为使用相同的命名空间,它就会重新开始工作。

答案 1 :(得分:0)

我遇到了同样的问题,解决方案是:

  1. 清洁解决方案;
  2. 构建启用了迁移的项目(只是为了确保);
  3. 再次构建解决方案;
  4. 这几乎与使用Build菜单中的Rebuild Solution选项相同。

答案 2 :(得分:0)

我遇到了完全相同的问题,无法解决。

要添加到IamDOM解决方案,请还添加一个空的迁移并更新数据库

例如:

添加迁移测试

更新数据库

现在对我有用了几次。

答案 3 :(得分:0)

我发现VS由于某种原因感到困惑,实际上并未将迁移内容添加到.csproj中。关闭,重新打开VS,然后将迁移内容重新包含到项目中,并保存所有工作。