Entity Framework の移行に取り組んでいます。
モデルを変更して add-migration を使用すると正常に動作しますが、モデルを 2 回目に変更して add-migration コマンドを実行すると、生成されたファイルには最初と 2 番目に行った SQL の変更が含まれています。
なぜ私がこのような行動をとっているのか、誰か教えてください。
ここにモデルがあります
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Department>().Property(p => p.NewCol2).HasColumnName("ColChanged");
}
public class Department
{
public int DeptId { get; set; }
public int DivNo { get; set; }
public string DeptName { get; set; }
public string NewCol2 { get; set; }
public List<Employee> Employees { get; set; }
}
public class Employee
{
public int EmpNo { get; set; }
public int DivisionNo { get; set; }
public int DeptId { get; set; }
public string EmpName { get; set; }
public Department Department { get; set; }
}
}
NewCol2 の名前を ColChange に変更したかったので、ModelBuilder にプロパティを記述し、以下に示すように生成されたファイルを取得しました。
最初の cs ファイル
Up() のみ
AddColumn("dbo.Departments", "ColChanged", c => c.String());
[Required] アノテーションを追加して EMPName を必須に変更しようとすると、以下のように生成されたファイルが得られました
2 番目の cs ファイル
AddColumn("dbo.Departments", "ColChanged", c => c.String());
AlterColumn("dbo.Employees", "EmpName", c => c.String(nullable: false));
ありがとうございました