EF适用于所有迁移,而不仅仅是新迁移

时间:2016-08-10 18:40:57

标签: entity-framework ef-code-first entity-framework-6 ef-migrations

我使用的是EF 6,当我运行Update-Database时,它会尝试应用自项目开始以来的每次迁移,即使只有新的迁移。

如果我尝试创建空迁移,则会收到一条错误消息,指出我无法创建新的迁移,因为有明确的迁移待处理。

我发现的类似问题的唯一博文建议删除__MigrationHistory表并执行Update-Database -Script,删除所有实际的数据库更改,但留在Create __MigrationHistory和{{1 }}。我没有放弃桌子,但我确实重命名了,这对我来说并没有解决问题。

This question看起来像是重复的,但是当我运行脚本时,我发现我的上下文键没有改变,所以这不是我的问题。

奇怪的是我在我的模型中添加了一列,然后没有问题地执行了Migration Inserts。然后我去吃午餐(但没有做add-migration),午饭后我决定在我的模型中添加另一列,当我再次update-database时,这个错误就开始了。我已完全回滚我的工作区(完全删除工作区并从我的机器中删除所有代码),但问题仍然存在。

我在团队环境中,但我们每个人都使用自己的开发人员数据库,并且我已经在我的迁移App.Config文件中验证了连接字符串是否正确。

我在add-migration -force命令期间运行了SQL事件探查器,并在放弃之前运行了以下查询24次(12批次2):

Update-Database -Script

这很奇怪,因为它是我的连接字符串的名称,而不是数据库的名称。

1 个答案:

答案 0 :(得分:0)

原来问题是Package Manager Console没有查看我的配置文件,所以快速搜索,我发现你不仅要在PMC中设置默认项目(我正在做),而是解决方案必须选择与启动项目相同的项目。 (Credit