我正在使用實體框架 - 代碼優先。數據庫已經填滿。 我必須添加一個列到一個表並刪除兩個其他列。新的專欄將充滿舊專欄的合併。 我正在嘗試使用遷移和種子方法。在遷移過程中刪除它們之前,從另一列填充新列表
我恢復任務:
- 在表中添加一列;
- 用來自其他兩列的數據填充新列;
- 刪除其他兩列。
這裏我的移民:
public partial class MyNewMigration : DbMigration
{
public override void Up()
{
AddColumn("customers.myTable", "newCol", c => c.String());
DropColumn("customers.myTable", "oldCol1");
DropColumn("customers.myTable", "oldCol2");
}
public override void Down()
{
AddColumn("customers.myTable", "oldCol1", c => c.String());
AddColumn("customers.myTable", "oldCol2", c => c.String());
DropColumn("customers.myTable", "newCol");
}
}
難道我必須添加代碼來填充up方法中新列?
是的,在添加和刪除之間使用Sql()命令:https://msdn.microsoft.com/en-us/data/jj591621.aspx#sql –