我們通過在專用C#項目中生成所有遷移文件,在我們的MVC項目中使用帶有代碼優先遷移的EF 6。在從開發向功能分支的前向集成之後,我們突然遇到這樣的情況:在創建新的遷移時 - 使用軟件包管理器中的add-migration命令 - 我們會得到很多更改,儘管數據庫中的__MigrationHistory Table最新日期和我們沒有在模型中做出新的改變。什麼地方出了錯?腳手架確實在檢查變化嗎?任何想法如何找到EF爲什麼會產生我們早期的遷移文件中已有的變化?爲什麼實體框架確實在所有最新版本都生成新的遷移?
更新: 的的ConnectionString配置是正確的(像往常一樣)。我嘗試了以下方法:複製生產數據庫並使用最新的遷移更新生產數據庫。運行後update-database我收到消息:「此遷移文件的設計器代碼包含當前Code First模型的快照。此快照用於在您爲下一次遷移腳手架時計算對模型所做的更改。如果您對要在此遷移中包含的模型進行其他更改,則可以通過再次運行「添加遷移Test_homogeo」來重新搭建它。「所以我現在再次運行添加遷移,我得到一個包含我已經在數據庫和最新的4個遷移文件中擁有的表的遷移文件。不知怎的,我認爲最後一次遷移沒有奏效,但是我在__MigrationHistory和數據庫模式中有這些遷移。爲了找到問題,我不知道下一步該怎麼做。有什麼想法嗎?
[爲什麼添加遷移有時會創建重複的遷移?](http://stackoverflow.com/questions/19136066/why-does-add-migration-sometimes-create-duplicate-migrations) –