这是我的ef迁移代码,
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "ColumnNew",
table: "MyTableName",
nullable: true);
}
因此,我的新列名为ColumnNew
。我已经有ColumnOne
和ColumnTwo
。
我的问题是,如果ColumnOne
的值等于1,我想将ColumnTwo
的值复制到ColumnNew
。
我可以在迁移文件中这样做吗?
答案 0 :(得分:1)
创建新列后,您必须添加一条更新语句:
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");
}