最初に、次のようにモデルを定義しました。
public class Category
{
public long CategoryId { get; set;}
public string CategoryName { get; set; }
public virtual ICollection<ContentInfo> Contents { get; set; }
}
Public class Article
{
public int ContentId { get; set; }
public string Content { get; set; }
[ForeignKey("Category")]
public long CategoryId { get; set; }
public virtual Category Category { get; set; }
}
Automatic-Migration でモデルからデータベースを生成した後、CategoryId の型を「long」から「int」に変更し、再度 Automatic-Migration でデータベースを更新しました。
今回は例外がスローされ、列「CategoryId」が主キーと外部キーによって参照されたため、移行に失敗しました。主キーと外部キーを手動で削除すると、すべて問題ありません。でも、Automatic-Migration にこれをやってもらいたいのですが、できますか?