标签:rom 使用 ext class 关闭 异常 数据库访问 一个 text
在运用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脱钩了!
【转】已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭
标签:rom 使用 ext class 关闭 异常 数据库访问 一个 text
原文地址:http://www.cnblogs.com/KKSoft/p/7545773.html