使用 EF Core Migration 更新现有列中的数据

pri*_*te7 6 database-migration entity-framework-core asp.net-core entity-framework-migrations

我的 SQL 表有两个字段:Id 和 Status。它看起来像这样

身份证 | 地位

1 | “状态 1”

2 | “状态2”

我应该进行迁移,将这些状态值更改为我想要的状态值吗?我怎样才能做到这一点?

Xue*_*hen 8

我应该进行迁移,将这些状态值更改为我想要的状态值吗?

尝试将 SQL 语句Up手动添加到生成的迁移文件的方法中,如下所示

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

更新多条记录可以参考以下代码

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)");
}
Run Code Online (Sandbox Code Playgroud)