2017-05-15 47 views
0

我的項目正在針對現有的數據庫使用默認的dbo模式,並且爲我正在構建的新模塊創建了單獨的模式。我首先創建了一個代碼,並使用新代碼第一個域模型中的現有數據庫生成了一些對象。我創建了一個空的第一個遷移並更新了數據庫。現在我使用下面的行爲我的新模式創建了一張新表:我應該爲每個SQL模式使用不同的遷移表嗎?

modelBuilder.Entity<newTblClass>().ToTable("newTblClass", "newSchema"); 

然後我創建了一個新的遷移並更新了數據庫。 在我的數據庫中,我注意到我的遷移是在表dbo .__ MigrationHistory上創建的。 這是正確的路要走嗎?還是應該爲每個模式使用單獨的遷移表?如果是的話如何?

+0

EF在該表上存儲註冊歷史記錄。把所有的遷移記錄在一個表中是好事。保持原樣。 –

+0

如果您希望爲每個模式單獨遷移,則需要爲每個模式創建一個上下文。如果你想將__MigrationHistory移動到不同的模式,有一個[技巧](http://stackoverflow.com/questions/28355352/ef-6-code-first-migrationhistory-in-dbo-schema-by-default)也是如此。 –

回答

0

實際上有兩種遷移方式。第一種方法是爲每個模式更改添加新的。第二種方法是自動創建遷移。

如果你想返回每改變你可以使用第一種方式。

當改變你的模式時,你應該這樣做。 enter image description here

顯示提醒 我們寫啓用的遷移 enter image description here

,要添加FirtsMigration等遷移,該NugetPackage控制檯 我們正在編寫插件遷移FirstMigration

enter image description here

這樣,我們的遷移文件夾和Configiration類將自動創建。

相關問題