已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭
2024-08-25 08:13:59
已有打开的与此 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 })
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()
where a.ArticleID < id
orderby a.ArticleID descending
select new { a.ArticleID, a.ArticleTitle }).ToList()
ToList之后就被读到内存中了,与DataContext脱钩了!
最新文章
- Protocol Buffers介绍
- 删除SSMS中保存的帐户信息
- JCaptcha做验证码遇到的问题引出的思考
- java排序算法-交换排序
- Linux shell编程02 shell程序的执行 及文件权限
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
- Linux盘符绑定槽位
- Linux之Ubuntu下安装屏幕录像软件(SimpleScreenRecorder)【摘抄】
- 程序员自己编写的类和JDK类是一种合作关系。
- 自学Linux Shell3.6-文件查看命令file cat more less tail head
- Python记录_day21 模块
- mybatis插入数据库 返回主键
- 设置虚拟机IP
- Python网络爬虫-requests模块
- 《垃圾回收的算法与实现》——保守式GC
- API接口安全加强设计方法
- Spring Boot Starters是什么?
- PostgreSQL的pg_stats学习
- C#使用window API 控制打印纸张大小(转载)
- CSDN日报20170413 ——《天天写业务代码的那些年,我们是怎样成长过来的》