簡體   English   中英

EF Core 在遷移時將列數據從表移動到另一個表 (UP)

[英]EF Core move column data from table to another while migration (UP)

我通過將一列從表中刪除到另一列來更新我的數據 model,但我在此列中有數據

為此,我首先在新表中添加新列並完成。

現在我想列數據從舊表遷移到新表,我想在Up(MigrationBuilder migrationBuilder)方法中執行此操作,但我不知道正確的方法。

所以,我問是否有人知道我可以從哪里開始。

謝謝你們!

在遷移的Up()方法中,您可以使用migrationBuilder.Sql() function 編寫自定義 SQL - 這通常是我處理從一列遷移到另一列或在這種情況下跨表遷移的數據的方式。

當然請記住,事情是按順序執行的,因此您需要 sql 在添加的列和刪除的列之間運行。

同樣,為了安全起見並在Down()方面保持向后兼容,您還應該包括 sql 執行相反操作,以便您以后可以隨時回滾

例如,我們有表 A 和表 B。

在我的項目中,我遵循三個步驟:

  1. 創建遷移以將新列添加到表 B(在Up()部分)。 Down()部分中,我添加代碼以刪除表 B 中的此列。
  2. 創建遷移以將數據從表 A 傳輸到表 B(在Up()部分中)。 Down()部分中,我添加了將數據從表 B 傳輸到表 A 的代碼。
  3. 創建遷移以刪除表 A 中的列(在Up()部分)。 Down()部分中,我添加代碼以在表 A 中創建列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM