LINQ: There is already an open DataReader associated with this Command which must be closed first

在Linq to SQL和Entity Framework,使用Linq查询数据的时候会出现错误:There is already an open DataReader associated with this Command which must be closed first 。

解决方案:

在数据库连接串上添加MultipleActiveResultSets=true。

时间: 2024-11-15 22:07:11

LINQ: There is already an open DataReader associated with this Command which must be closed first的相关文章

EF "There is already an open DataReader associated with this Command which must be closed first."

1.出现问题 场景1:在插入数据之前,先进行判断是否存在 执行SqlDataReader.Read之后,如果还想用另一个SqlCommand执行Insert或者Update操作的话, 会得到一个错误提示:There is already an open DataReader associated with this Command which must be closed first.   2.解决方法 在ConnectionString中加上一个参数"MultipleActiveResultS

【转】Entity Framework中出现"已有打开的与此命令相关联的 DataReader,必须首先将它关闭。"的解决方案

     from:http://www.cnblogs.com/china0zzl/archive/2009/08/06/1540025.html        前期搭建一个ASP.NET MVC应用的框架过程中,使用了Entity Framework框架作为数据处理部分.其中在Linq to Entity操作过程中偶出现 "已有打开的与此命令相关联的 DataReader,必须首先将它关闭."该问题,经查善友老大的文章找到一链接,得以解决该问题:http://www.netknow

Trick: 巧用.NET Reflection从SqlConnection回溯到打开着的SqlDataReader

相信使用过ADO.NET的同志多半都见过这个exception吧: There is already an open DataReader associated with this Command which must be closed first. 抛出这个exception的主要原因是:一个SqlConnection只能和一个开着的SqlDataReader相关联.当开 发人员忘记关掉打开的SqlDataReader,而又尝试打开一个新的SqlDataReader的时候,BCL就会抛出上述

SQL Server 2005 中的 Multiple Active Result Set (MARS)

简介 所有 SQL Server 数据访问应用程序编程接口 (API) 都提供了一个抽象来表示会话和会话中的请求.SQL Server 2000 以及更早的版本限制编程模型,它要求任何时候一个给定的会话中最多只能有一个待定的请求.有几个替代办法被用来解决这种限制,在这些替代办法中,最常见的可能就是服务器端光标.SQL Server 2005 实现了 Multiple Active Result Set (MARS),它解除了这个约束.本文介绍了 MARS 的设计.结构和语义变更,以及为了从这些改

架构设计之首部曲

架构|设计 系统采用|B/S结构,共分三层,分别是数据访问层,业务规则层,Web外观层.它们各自有自己的职责,各自为政又互相配合从而形成一个软件的整体功能系统,数据访问层的职责是负责对数据源的存取(这里的数据源是指SQL Server 2000),业务规则层负责的是对数据按照业务流程的处理,Web外观层负责向用户提供交互的接口,只负责输入输出数据.这样设计是很普遍的,它提供了一个较好维护的体系. 设计: 1) 数据访问层: 很多人愿意在这一层封装大量的SQL脚本以简化上层的设计,但是这样的设计并

ADO.NET中的五个主要对象

Connection 物件 Connection 对象主要是开启程序和数据库之间的连结.没有利用连结对象将数据库打开,是无法从数据库中取得数据的.这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生. Command 物件 Command 对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询.新增.修改.删除数据等指令,以及呼叫存在数据库中的预存程序等.这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源 Data

【ASP.NET】ADO.NET

在我们编程的这么长时间以来,几乎每个程序都需要我们与数据库打交道,对数据的访问和处理都是少不了的操作.在ASP.NET中,它给我们提供了ADO.NET技术,ADO.NET提供了对关系数据.XML和应用程序数据的访问,支持多种开发需求. 其实,在我们学习数据库的时候,就与ADO.NET接触过,但之前也没有总结,这一次的学习,比以前理解起来要容易些,所以也总结一下. ADO.NET组件将数据访问与数据处理分离,它是通过两个主要的组件:.NET数据提供程序(data provider)和DataSet

npm node.js socket-npm安装问题!!this socket is closed

问题描述 npm安装问题!!this socket is closed 解决方案 protocol buffer使用中的问题This is supposed to be overridden by subclassesbios in this system is not fully ACPI compliant 问题的解决There is already an open DataReader associated with this Connection which must be closed

艾伟_转载:ADO.NET中的五个主要对象

Connection 物件 Connection 对象主要是开启程序和数据库之间的连结.没有利用连结对象将数据库打开,是无法从数据库中取得数据的.这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生. Command 物件 Command 对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询.新增.修改.删除数据等指令,以及呼叫存在数据库中的预存程序等.这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源 Data