entity-framework - 在实体框架迁移中添加值取决于其他列值的列
问题描述
这是我的 ef 迁移代码,
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "ColumnNew",
table: "MyTableName",
nullable: true);
}
所以,我的新栏目名称是ColumnNew
. 我已经有了ColumnOne
和ColumnTwo
。
我的问题是,如果ColumnOne
's value 等于 1 ,我想将ColumnTwo
's value 复制到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");
}
推荐阅读
- php - filemtime 在 php 中返回垃圾值
- c# - 如何使用下拉列表过滤 Razor 视图中的数据
- c# - Visual Studio for Mac 上的奇怪 linq 异常
- bash - 我想将 ls 的输出重定向到一个文件,并将一个常量字符串附加到输出文件中列出的每个文件
- python - 为什么我没有足够的值来解压缩某些图像(预期为 2,得到 1)?
- api - 使用 Google 脚本在列中列出工作表 ID
- python - Django查询集到一个字符串
- python-3.x - 将从 S3 绘制的 PDF 和 PPTX 文件转换为 JPG 格式
- python-3.x - 我应该如何在运行在谷歌云实例上的 jupyter notebook 上安装 spacy 的英文模型?
- python - 多个布尔运算符