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(); 就可以了

转载于:https://www.cnblogs.com/cs_net/archive/2012/08/13/2636116.html

Linq 无法删除尚未附加的实体的问题相关推荐

  1. oracle 删除行记录,使用实体框架从oracle数据库中删除记录

    方法1: public void DeleteTask(Guid taskId, string userId) { var task = _context.TWFITSKs.FirstOrDefaul ...

  2. 【python】list 删除列表中某个元素的3种方法;附加删除numpy数组中的指定索引元素的方法

    方法 python中关于删除list中的某个元素,一般有三种方法: remove.pop.del 实例 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 2.pop: 删除单个或多个 ...

  3. LINQ to SQL语句 收藏系列

    KB-Transaction in Linq to SQL  http://blog.darkthread.net/post-2008-05-14-transaction-in-linq-to-sql ...

  4. LINQ To SQL 语法及实例大全

    LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...

  5. 艾伟_转载:使用LINQ to SQL更新数据库(上):问题重重

    在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作.下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me. 从最简单的情况入手 我们以Northwind数 ...

  6. LINQ to SQL语句(1)之Where(抄的好)

    Where操作适用场景:实现过滤,查询等功能.说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操作包括3种形式,分别为简单形式.关 ...

  7. N 层应用程序中的数据检索和 CUD 操作 (LINQ to SQL)

    在将实体对象(如 Customers 或 Orders)通过网络序列化到客户端时,这些实体会与其数据上下文分离.数据上下文不再跟踪这些实体的更改或它们与其他对象的关联.只要客户端只读取数据,这就不会成 ...

  8. Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解

    本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 L ...

  9. 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解...

    本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...

最新文章

  1. 自动化运维系列之Cobbler (资源)
  2. 原码、反码、补码的产生、应用以及优缺点有哪些?
  3. Dubbo负载均衡原理
  4. linux执行加密的shell,Linux下Shell脚本文件的加密
  5. 软件构造学习笔记-第三周
  6. PHP使用SMTP邮件服务器
  7. 电脑端的mafsvr服务关掉_网吧才是电脑优化的精髓!学会3招你也不用羡慕网吧的流畅了...
  8. uva 10816 Travel in Desert(简单的好题~两种方法)
  9. GitLab Elasticsearch 私密群组数据泄露 bug 值3000美元
  10. Hive与RDBMS的区别
  11. 这家保险公司的第三朵云为什么选择Power?
  12. 【渝粤教育】国家开放大学2018年春季 0690-21T化工原理及实验 参考试题
  13. http://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=9780596529321
  14. UART子系统(二) UART协议层 物理层
  15. Kibana server is not ready yet
  16. mysql5.7.20如何卸载干净再重装
  17. 例题 9-27 方块消除(Blocks, UVa10559)
  18. Qiyuan-接小球游戏3.0
  19. xcode 翻新工程_18个著名网站的酷概念设计(翻新)
  20. 阿里内核数据库文章-目录

热门文章

  1. 从未在一起更让人遗憾_明明是真爱,却又不能在一起
  2. 【windows】cmd中的help无法使用的解决方法
  3. jemeter多场景混合案例_Redis 混合存储最佳实践指南
  4. kail安装和vmtools安装
  5. mysql整理碎片和显示语句错误
  6. Mythic推出“万能”芯片,任何设备都能一秒变身智能产品
  7. C#代码实现对Windows凭据的管理
  8. 求逆元 - HNU 13412 Cookie Counter
  9. 使用command-privilege给H3C、华为设备的用户帐号授权
  10. 算术运算中隐式类型转换