Обновите данные в существующем столбце с помощью EF Core Migration - PullRequest
0 голосов
/ 19 февраля 2020

Моя таблица в SQL имеет два поля: Id и Status. Это выглядит примерно так

ID | Статус

1 | "Status1"

2 | "Status2"

Я должен выполнить миграцию, которая изменит те значения статуса на те, которые мне нужны? Как мне этого добиться?

1 Ответ

1 голос
/ 20 февраля 2020

Мне следует выполнить миграцию, которая изменит эти значения состояния на те, которые мне нужны?

Попробуйте добавить 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)");
}
...