我使用的是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
这很奇怪,因为它是我的连接字符串的名称,而不是数据库的名称。
答案 0 :(得分:0)
原来问题是Package Manager Console没有查看我的配置文件,所以快速搜索,我发现你不仅要在PMC中设置默认项目(我正在做),而是解决方案必须选择与启动项目相同的项目。 (Credit)