Asp.net-Core

使用 EF Core 遷移更新現有列中的數據

  • February 20, 2020

我在 SQL 中的表有兩個欄位:Id 和 Status。它看起來像這樣

身份證 | 地位

1 | “狀態1”

2 | “狀態2”

我應該進行遷移,將這些狀態值更改為我想要的值嗎?我怎樣才能做到這一點?

我應該進行遷移,將這些狀態值更改為我想要的值嗎?

嘗試手動將 SQL 語句添加到Up生成的遷移文件的方法中,如下所示

protected override void Up(MigrationBuilder migrationBuilder)
{
       migrationBuilder.Sql("UPDATE A SET AName = 'Jhon' WHERE Id=3");
}

更新多條記錄可以參考以下程式碼

protected override void Up(MigrationBuilder migrationBuilder)
{
       migrationBuilder.Sql(
          "UPDATE A SET AName = CASE Id " +
                  "WHEN 1 THEN 'Shariy' " +
                  "WHEN 2 THEN 'Mary'" +
                  "ELSE AName END " +
                  "WHERE Id IN(1,2)");
}

引用自:https://stackoverflow.com/questions/60300757