在以下代码中,当第二次foreach时会抛出该异常,原因是:由于Entity在读取数据的时候使用的是DbDataReader进行读取,当作为IEnumuerable<T>对象MoveNext进行操作时,只是使用DbDataReader进行一次Read操作,因此当查询的结果未完全读取完的时候,数据库连接一直被占用,当再次进行查询操作时便回出现上面的异常。

解决办法有两个:

1.在链接字符串中加入 MultipleActiveResultSets=true,但需要注意的是该方案只适合Sql Server 2005以及以上版本

2.使用ToList()方法,将IQueryable转为List

            using (var context = new MyDbContext())
{
var blogs = from blog in context.BlogPosts
where blog.Comments.Any()
select blog; foreach (var blog in blogs)
{
Console.WriteLine("Blog Post: {0}", blog.Title);
foreach (var comment in blog.Comments)
{
Console.WriteLine("\t{0}", comment.Comments);
}
}
}

最新文章

  1. one_person年轻的程序员
  2. 佛祖保佑,永无bug
  3. 记录那些我不清楚的知识点(HTML)
  4. 我的css笔记
  5. 拉曼软件在win8上运行出错问题
  6. iOS 导出 ipa 包时 三个选项的意义
  7. MyQL修改用户名命令、密码
  8. 一天,python搞个分析NGINX日志的脚本
  9. PHP json的插入和解析在数据库中的操作
  10. Java JDK 8 安装和环境变量的配置(Linux and Windows)
  11. Jenkins SSH timeout
  12. 1751: [Usaco2005 qua]Lake Counting
  13. NPOI+反射 实现快速导出
  14. Oracle Metalink Notes Collection
  15. C++ 中 double、 long double、long 和 long long
  16. 网站的增 / 删 / 改 / 查 时常用的 sql 语句
  17. python nmap
  18. VS Code 工具配置和格式化
  19. ARCSDE直连Oracle时出现错误Failed to connect to the specified server. Underlying DBMS error[ORA-12154: TNS:could not resolve the connect identifier specified. No extended error]
  20. Java 正则校验整数,且小数点只能是2位

热门文章

  1. 疯狂学习java web5(SSI框架)
  2. oracle通过query导出指定条件的数据
  3. Json处理函数json_encode json_decode
  4. POJ - 3903 Stock Exchange(LIS最长上升子序列问题)
  5. (转)总结PLSQL的快捷键以及使用技巧
  6. C++ Primer chap7
  7. Ant快速入门(三)-----定义生成文件
  8. Hadoop 学习笔记(二) HDFS API
  9. angular2 学习笔记 ( DI 依赖注入 )
  10. 为什么同时需要IP地址和MAC地址