zoukankan      html  css  js  c++  java
  • 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(); 就可以了

  • 相关阅读:
    575. Distribute Candies
    242. Valid Anagram
    349. Intersection of Two Arrays
    290. Word Pattern
    389. Find the Difference
    httpModules 与 httpHandlers
    JS获取浏览器信息及屏幕分辨率
    asp.net 页面编码 设置的几种方法
    IIS是如何处理ASP.NET请求的
    VS2010常用插件介绍之Javascript插件(一)
  • 原文地址:https://www.cnblogs.com/cs_net/p/2636116.html
Copyright © 2011-2022 走看看