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

来源:互联网 发布:php正则表达式 编辑:程序博客网 时间:2024/05/18 00:11
出现问题:已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭

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

解决方案:

1,设定ConnectionString加上MultipleActiveResultSets=true,网络称只适用于SQL 2005以后的版本,本地VS报道不允许MultipleActiveResultSets特性。

2.先读出放置在List中。

var orderlist= from u in storeDB.OrderDetails                    where u.OrderId == id                    select u;

改成To=>:

var orderlist= (from u in storeDB.OrderDetails                     where u.OrderId == id                     select u).ToList();

ToList之后就被读到内存中了,与DataContext连接无关了!

 

阅读全文
0 0
原创粉丝点击