已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭

引用:   http://www.cnblogs.com/maxao/archive/2011/03/18/1988168.html

在运用Linq to sql 或者 linq to entity等相关linq技术进行数据库访问操作时,如果发生上述异常是因为是因为.NET內部是使用DataReader作数据存取,DataReader用同一个Connection。

解决办法有两个:

1,设定ConnectionString加上MultipleActiveResultSets=true,但只适用于SQL 2005以后的版本
2.先读出放置在List中

例如将

var preObj = (from a in db.ArticleEAP
                          where a.ArticleID < id
                          orderby a.ArticleID descending
                          select new { a.ArticleID, a.ArticleTitle })

改为

var preObj = (from a in db.ArticleEAP
                          where a.ArticleID < id
                          orderby a.ArticleID descending
                          select new { a.ArticleID, a.ArticleTitle }).ToList()

ToList之后就被读到内存中了,与DataContext脱钩了!

转载于:https://www.cnblogs.com/davytitan/p/4579862.html

已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭相关推荐

  1. 解决 “已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭”

    qlCommand在每次执行ExecuteNonQuery()方法之后,内部会生成一个空的DataReader对象,该对象只有在数据库连接关闭之后,才会被释放掉,加上上边提到的,在DBHelper类中 ...

  2. 已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。

    SqlDataReader dr = b.ExecuteReader();//打开之后,使用完了要记得关闭 dr.Close();

  3. DataReader 要在事务提交前 CLOSE 掉 否则会报一个:已有打开的与此命令相关联的 DataReader,必须首先将它关闭。...

    DataReader 要在事务提交前 CLOSE 掉 否则会报一个:已有打开的与此命令相关联的 DataReader,必须首先将它关闭. 转载于:https://www.cnblogs.com/run ...

  4. 如何解决“已有打开的与此命令相关联的 DataReader,必须首先将它关闭。”

    这个异常相信许多的朋友都遇到过,我也经常遇到, 都是编码时大意,没有关闭连接,简单处理就OK之~~       但今天同样的问题,把我郁闷坏了,整个网站操作数据库的地方都报这个错误,出现的频率很高,刷 ...

  5. dcom无法在此计算机运行,DCOM遇到错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动”的解决...

    关键字:DCOM 遇到错误"无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动. ",试图以参数""启动服务 helpsvc 以运行服务器: {833E ...

  6. (转)无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动

    [转载原因:win7安装windows Update独立安装程序,报错.] [转载原文:https://blog.csdn.net/weixin_40173917/article/details/90 ...

  7. 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动

    无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动 更新了一个win10系统,安装某软件并启动后提示需要使用.NET Framework 3.5 点击下载并安装此应用后,页面显示无法安装.错误 ...

  8. services.msc 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动

    无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动 regedit gpedit.msc msconfig services.msc 都打不开了, 遇到了同样的问题. 最近也遇到了这个问题,可 ...

  9. VB如何判断文件正被占用/已被打开

    '以独占方式打开 如果捕获到错误就是被占用了 代码如下: Private Function FileIsOpen(ByVal FilePath As String) As Boolean     Di ...

最新文章

  1. python里面ca_Python SSL服务器提供中间CA证书
  2. 每日一皮:资深老鸟看实习生写代码...
  3. 服务器维修app是什么状态,监控服务器状态app
  4. ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue, RingBuffer
  5. python 进程池不足_python 进程池pool简单使用
  6. 《OpenGL编程指南(原书第9版)》——1.4 OpenGL渲染管线
  7. margin background_div盒子的外部距离(margin)【202】。
  8. 系统学习深度学习(四十三)--GAN简单了解
  9. G - Power Strings
  10. matlab 摄动,孤立特征值情况的矩阵摄动法算例(matlab编程).doc
  11. 教教大家系统之家装机大师怎么用?
  12. 怎么直接运行js文件
  13. 【QNX Hypervisor 2.2 用户手册】4 构建QNX Hypervisor系统
  14. ​巴比特发布2020年数据报告:平台年度阅读量突破16亿,活跃作者超500名
  15. 2022年要怎么把PayPal里的美元提到国内?
  16. 80X86汇编—存储器的变址寻址
  17. 关于find命令-perm 的用法
  18. Hadoop2.7下载安装
  19. POJ Treasure Exploration 【DAG交叉最小路径覆盖】
  20. 工业物联网网关可以采集哪些RS485传感器数据并上传到MQTT云平台?

热门文章

  1. 零位扩展和符号位扩展
  2. 一键Ghost 脱机下载不再愁
  3. android 设置PopupWindow透明度
  4. itms-services 格式
  5. Android Canvas和Paint
  6. 标准 I/O (带缓冲)
  7. python实现交并比IOU
  8. MMIX机器简要介绍
  9. Mysql 客户端查询结果如何保存到本地而不是服务端?
  10. python 之 GIL(线程和进程的应用)