已有打开的与此 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脱钩了!

最新文章

  1. Protocol Buffers介绍
  2. 删除SSMS中保存的帐户信息
  3. JCaptcha做验证码遇到的问题引出的思考
  4. java排序算法-交换排序
  5. Linux shell编程02 shell程序的执行 及文件权限
  6. Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
  7. Linux盘符绑定槽位
  8. Linux之Ubuntu下安装屏幕录像软件(SimpleScreenRecorder)【摘抄】
  9. 程序员自己编写的类和JDK类是一种合作关系。
  10. 自学Linux Shell3.6-文件查看命令file cat more less tail head
  11. Python记录_day21 模块
  12. mybatis插入数据库 返回主键
  13. 设置虚拟机IP
  14. Python网络爬虫-requests模块
  15. 《垃圾回收的算法与实现》——保守式GC
  16. API接口安全加强设计方法
  17. Spring Boot Starters是什么?
  18. PostgreSQL的pg_stats学习
  19. C#使用window API 控制打印纸张大小(转载)
  20. CSDN日报20170413 ——《天天写业务代码的那些年,我们是怎样成长过来的》

热门文章

  1. 阅读国外大神对this的分析,自己的总结
  2. 安装linux工作环境
  3. jq小demo—图片翻页展示效果 animate()动画
  4. Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API
  5. log4j.properties 的使用详解
  6. APK安装时的过滤方式:包名白名单、证书认证
  7. 15个实用find命令
  8. LR11安装注意事项
  9. 项目管理-SVN服务器的搭建
  10. MarkDown初遇