Это мой код миграции ef,
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "ColumnNew",
table: "MyTableName",
nullable: true);
}
Итак, имя моей новой колонки ColumnNew
. У меня уже есть ColumnOne
и ColumnTwo
.
Мой вопрос: если значение ColumnOne
равно 1 , я хочу скопировать значение ColumnTwo
в ColumnNew
.
Могу ли я сделать это в файле миграции?
Вы должны добавить оператор обновления после создания нового столбца:
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");
}