• 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;Password=1qaz@WSX;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 }
  • 相关阅读:
    any、some、all for sql
    Date CONVERT() 函数
    Config Database
    移动master 数据库
    使用 OpenRowSet 和 OpenDataSource 访问 Excel 972007
    动态管理视图和函数
    SQL Server 2005 Merge Replication Step by Step Procedure
    系统试图(返回表所有记录数及所有的 identity 列)
    js if without curly brackets bug All In One
    Web3 All In One
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/8011328.html
Copyright © 2020-2023  润新知