小编Gab*_*iel的帖子

使用实体框架同时更新和添加子行

我在修改和同时添加子行时遇到了一些麻烦.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无法使用相同的键跟踪多个对象.

感觉就像我在这里遗漏了一些东西......

c# asp.net entity-framework

5
推荐指数
1
解决办法
3389
查看次数

标签 统计

asp.net ×1

c# ×1

entity-framework ×1