Linq 无法删除尚未附加的实体的问题

Linq删除个集合数据, 刚开始用的注释掉的那行, 会提示"无法删除尚未附加的实体"错误, 使用Attach方法依然不行. 想想以前用过DeleteAllOnSubmit没啥问题哈, 估计是_db对象的引用问题, 换了种写法就OK了.

 

                    //删掉所有工作组部门关联
                    //wgdrLst = WorkGroupDB.GetRelatedDepMappingInfo(gid).ToList();
                    wgdrLst = _db.t_WorkGroupDepartments_Rel.Where(gdr => gdr.WorkGroupID == gid).ToList();
                    if (wgdrLst != null && wgdrLst.Count() > 0)
                    {
                        _db.t_WorkGroupDepartments_Rel.DeleteAllOnSubmit(wgdrLst);
                        _db.SubmitChanges();
                    }

 

可能的原因是, 删除操作、更新操作, 依赖于_db对象的引用, WorkGroupDB调用另一个_db对象获取了数据, 而这个_db对象不是删除、更新操作使用的_db对象, 所以报错. 尝试吧方法名加个重载, 把_db当作参数传入, 注释掉的那行换成  wgdrLst = WorkGroupDB.GetRelatedDepMappingInfo(_db,gid).ToList(); 就可以了

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值