2016-11-11 82 views
0

我們正在開發一個大的ASP MVC Web應用程序EF6 Code First(100+個實體),我們對遷移有一些疑問。ASP MVC 5 EF6遷移和種子

  • 如果我們能夠遷移的同時,我們正在開發,但尚未在生產中,我們將用噸的遷移文件就結了,既然是推薦做小的遷移。這是一種正確的方法,還是應該在應用程序位於任何客戶端之前啓用DropCreateIfModelChanges進行開發?

  • 此外,我們需要使用通用數據爲數據庫播種所有使用該應用程序的客戶端需要的內容,例如國家,州,一些超級用戶...... 我們必須在何處播種此數據總是在我們安裝網絡應用程序的每個客戶端?

我已經看到了幾種不同的方法: - 遷移中配置的種子功能種子數據,具有AddOrUpdate命令,但我已經在一些地方,這是一個不錯的辦法看到。 - 使用Sql進行Add-Migration的種子數據(「INSERT INTO ....」);

在此先感謝。

回答

0

我通常使用初始值設定項來開始開發。有一個seed method specifically for initializers只能在創建數據庫時運行,這對於security和查找表非常理想。 (遷移初始化器在每個更新數據庫中運行)。

當我不想丟失其他數據時,我切換到遷移。正如你所提到的,這些可以累積起來,所以我使用Chris's technique在部署之前將它們捲起來。

你也應該知道issues working with migrations in a team environment