Entity Framework优化一:引发了“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常

错误信息:

“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常在 EntityFramework.SqlServer.dll 中发生,但未在用户代码中进行处理。

其他信息:执行命令定义时出错。有关详细信息,请参阅内部异常。

跟踪代码找到详细信息:

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

EF内部是使用DataReader作为资料存取,所以如果没关闭连接就会产生Error,因为DataReader用同一个Connection。

解决方案有两种:

1、在连接字符串上面加上MultipleActiveResultSets=true,允许多个链接操作。

1 <connectionStrings>
2     <add name="Default" connectionString="Server=.;Database=20171208;User ID=sa;[email protected];MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" />
3 </connectionStrings>

2、在进行迭代的时候先取出放置在List中。

1 foreach (var photo in context.Photographs.ToList())
2 {
3        Console.WriteLine("图像:{0},缩略图{1}大小", photo.Title, photo.ThumbnailBite.Length);
4
5         // 使用显示加载 把
6         context.Entry(photo).Reference(p => p.PhotographFullImage).Load();
7          Console.WriteLine("高分辨率图像:{0}大小", photo.PhotographFullImage.HighResolutionBits.Length);
8 }

原文地址:https://www.cnblogs.com/dgg2015/p/11152662.html

时间: 2024-10-17 10:04:04

Entity Framework优化一:引发了“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常的相关文章

关于System.Data.Entity.Core.MetadataException错误

发布ASP.NET MVC到IIS后出现错误: 1 System.Data.Entity.Core.MetadataException: Schema specified is not valid. Errors: 2 SysModel.ssdl(2,2) : error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Ma

System.Security.SecurityException The type initializer for &#39;System.Data.Entity.Internal.AppConfig&#39; threw an exception

[15/08/19 00:03:10] [DataManager-7292-ERROR] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'System.Data.Entity.Internal.AppConf

System.Data.Entity.Internal.AppConfig 类型初始值设定项引发异常

在一开始时将connectionStrings 写在了configSections之上如下图一示,结果抛出:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常. 图一:最初配置 图二:抛出异常 解决方法,是将connectionStrings 写在了configSections之下,如图三 图三:调整后的配置

“System.Data.Entity.Internal.AppConfig&quot;的类型初始值设定项引发异常。{转}

<connectionStrings> <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=DataBaseName;Integrated Security=True;Pooling=False" /> </connectionStri

使用EF访问数据库,出现“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。

今天在使用的EF时候,发生了"System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常.这样的一个错误 查了原因,原来是appconfig中,connectionStrings的位置放错了.因为configSections必须是appconfig的第一个节点 这样是不对的. 应该是 感觉这种情况应该不仅仅只限于这个EF,只要configSections不是第一个标签就会有问题,也适用于其他情况~~

EntityFramework 找不到方法:“Void System.Data.Entity.DbModelBuilder.RegisterEntityType

问题原因,EF当前版本没有该方法,将EF版本升级即可. 1.packages.config <package id="EntityFramework" version="6.1.3" targetFramework="net40" /> 2.app.config <configSections> <!-- For more information on Entity Framework configuration,

The type initializer for &#39;System.Data.Entity.Internal.AppConfig&#39; threw an exception.

当使用EF时,配置文件中会多出下面的配置代码: <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.C

写一个system.data.entity的simpledatarepo,实现crudq这些功能,不需要引入entityframework,直接可以使用,用到objectset

note:you can delete reference of entityframework when using this classes.it`s just a simple repohelper.the code below can also include a getpagedlist method when paging. have fun,it`s simple,just create edmx file from database.all one sentence.but wh

报错:无法将类型&quot;System.Data.EntityState&quot;隐式转换为&quot;System.Data.Entity.EntityState&quot;

报错:无法将类型"System.Data.EntityState"隐式转换为"System.Data.Entity.EntityState" 原因一: using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data.Entity; 是否引用了System.Data.Entity   是则:db.Ent