私にはとても奇妙です。私は2つのエンティティを持っています。SalesStatus(親) と Sale(子)。
public class SalesStatus
{
[Key]
public int SalesStatusID { get; set; } /* this is identity column*/
public string Status { get; set; }
public virtual List<Sale> Sales { get; set; }
}
public class Sale
{
[Key]
public int SalesID { get; set; } /* this is identity column*/
//etc
}
SalesContext db = new SalesContext();
var ss = new SalesStatus
{
Status = "INQ",
Sales = new List<Sale>()
};
ss.Sales.Add(sale);
db.SalesStatus.Add(ss);
db.Entry(ss).State = EntityState.Added;
db.SaveChanges();
エラーが発生しました。Entity Framework は、PK 値を持つ新しいレコードを挿入しようとしました。「表の ID 列に明示的な値を挿入できません」
しかし、EntityState を EntityState.Detached または EntityState.Unchanged に変更したとき。子エンティティ (sale) は単独で正常に挿入されました (SalesStatus なし)。
私は非常に混乱してきました。
以下のケースを見つけました。しかし、私の場合はうまくいきません。 ID列を使用したEF Code Firstの親子挿入
ドットネット フレームワーク 4.0 / エンティティ フレームワーク 4.1 を使用しています