1

我們必須在我們當前的數據庫中添加一些行。我的老闆告訴我使用它的遷移(我們有一個.net核心應用程序,並使用EF核心1.1.1)。我不確定如何繼續,我瞭解遷移是「數據庫模式修改」的事情,而不是「數據更新」的事情。我知道種子也存在,但我認爲它們是「第一次/原始數據填充」在項目中完成一次,而不是在任何隨機時刻。 那麼,我應該使用種苗還是應該使用遷移?簡單數據操作的遷移是否存在?還是有第三種方法可以做到這一點?什麼是使用.NET核心修復數據庫數據的正確方法?

回答

1

你可以創建你自己的Up/Down覆蓋並告訴它根據需要使用T-SQL創建或插入。這將是一個沒有進行模式更改的遷移。但下來會刪除這些種子項目。

public partial class InsertMigrationRows10 : Migration 
{ 
    protected override void Up(MigrationBuilder migrationBuilder) 
    { 
     migrationBuilder.Sql("INSERT INTO SOMETHING(xx, xx, xx)", suppressTransaction: false); 
    } 
    protected override void Down(MigrationBuilder migrationBuilder) 
    { 
     //reverse what ever you did in UP 
     migrationBuilder.Sql("DELETE SOMETHING ...."); 
    } 
} 

我想這就是你要找的。和Update-Database(PMC)電話將是必要的,以使其運行。 dotnet ef database update否則從項目的目錄中。當然,請記住,我不知道這是否是最好的解決方案。

相關問題