我在修改和同时添加子行时遇到了一些麻烦.I'm使用该技术从答案:stackoverflow.com/questions/5557829/....
问题出在以下代码中:
public void EditReport(tbl_inspection inspection)
{
foreach (var roll in inspection.tbl_inspection_roll)
{
container.tbl_inspection_roll.Attach(roll);
container.ObjectStateManager.ChangeObjectState(roll, (roll.id_inspection_roll == 0) ? EntityState.Added : EntityState.Modified);
}
container.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我总是至少有一行要更新.当我有1行添加时,它工作正常,问题是当我尝试同时添加多行时,显示众所周知的错误:
ObjectStateManager中已存在具有相同键的对象.ObjectStateManager无法使用相同的键跟踪多个对象.
感觉就像我在这里遗漏了一些东西......