добавить столбец со значением, зависящим от другого значения столбца в миграции структуры объекта - PullRequest
0 голосов
/ 22 мая 2019

Это мой код миграции ef,

   protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AddColumn<DateTime>(
            name: "ColumnNew",
            table: "MyTableName",
            nullable: true);
    }

Итак, мой новый столбец называется ColumnNew. У меня уже есть ColumnOne и ColumnTwo.

Мой вопрос: если значение ColumnOne равно 1, я хочу скопировать значение ColumnTwo в ColumnNew.
Могу ли я сделать это в файле миграции?

1 Ответ

1 голос
/ 23 мая 2019

Вы должны добавить оператор обновления после создания нового столбца:

protected override void Up(MigrationBuilder migrationBuilder)
{
    migrationBuilder.AddColumn<DateTime>(
        name: "ColumnNew",
        table: "MyTableName",
        nullable: true);

    migrationBuilder.Sql("UPDATE MyTableName SET ColumnNew = ColumnTwo WHERE ColumnOne = 1");
}
...