2014-03-27 30 views
0

我有一個初始創建在我的migrations文件夾旁邊的後續遷移文件。當我從軟件包管理器控制檯運行Update-Database -ProjectName Data -StartUpProjectName Ui -Script時,如果我實際執行的Update-Database沒有-Script屬性,我將得到將執行的Sql腳本。EF數據遷移 - 已成功應用模式更改,但沒有發生數據種子?

它生成的Sql包含所有我期望的模式創建和修改,但它不包括INSERT語句,我希望按照我的Seed方法出現。我嘗試刪除數據庫,並通過Update-DatabaseAutomaticMigrationsEnabled = true;在我的配置文件中再次創建一切,但無論如何,我只會生成模式,而不會生成數據。

我已經明顯改變了我不應該有的事情,因爲數據播種得很好,但今天下午停止了。有沒有人有任何明顯的建議,爲什麼會發生這種情況?

爲了證實,我在我的configuration.cs文件下面的方法播種正在發生時,這是從今天同期持平:

protected override void Seed(ContextClassHere context) 
{ 
    // Calls to seed methods located here 
} 

回答

0

問題解決了。我無法解釋爲什麼Seed方法沒有運行,但我現在學到了更多關於如何使用Data-Migrations這是一個很好的副作用。我已經對我的模型進行了修改,這是我手動在新的遷移文件中編寫的。事實證明,我不需要煩惱,因爲有一種工具可以幫我實現,即Add-Migration。這方面的知識我轉了轉模型回修改前的武裝,跑它曾作爲種子發生預期InitialCreate,然後跑這創造了新的遷移文件對我來說Add-Migration方法,現在一切工作與Seed再次預期方法每次運行。

我不能完全解釋爲什麼Seed法不執行,但一切工作現在又有望按照上面的過程。

相關問題