我将向数据库中添加“国家/地区”表,这是“学生”字段的必填字段-但是,“学生”表具有记录,因此我想最初将“国家/地区”设置为可为空,在迁移中运行原始SQL来设置现有学生的CountryId,然后将外键更改为非空值。这可能吗?谢谢
public class Country {
public int Id {get; set;}
public string Name {get; set;}
}
public class Student {
public int? CountryId {get; set;}
public virtual Country Country {get; set;}
}
答案 0 :(得分:0)
我设法弄清楚了,Migration类是从DbMigration继承的,这可以访问可用于编写原始sql的方法'Sql'。 -
public override void Up()
{
Sql("INSERT INTO Table VALUES ('val')");
Sql("UPDATE Table SET COL = '1' WHERE COL IS NULL ");
}