实体框架在繁重的工作量下引发意外的异常

时间:2018-05-28 06:21:54

标签: c# sql-server entity-framework wcf iis

我们在IIS上有一个MSSQL2016,EntityFramework和WCF服务的操作项目。在正常情况下,所有事情都很好,但是当工作负载增加时,EntityFramework会在linq查询中抛出异常异常:

  

... ToList - > .ctor - > MoveNext - > TryReadToNextElement - > MoveNext - >   MaterializeRow - > HasNextElement - > lambda_method-> IsDBNull - >   CheckHeaderIsReady

     

System.IndexOutOfRangeException :索引超出了界限范围   阵列。

-

  

... FirstOrDefault - > MoveNext - > TryReadToNextElement - > MoveNext - >   MaterializeRow - > HasNextElement - > lambda_method - > GetGuid - >   get_SqlGuid

     

System.InvalidCastException :指定的演员表无效。

-

  

... FirstOrDefault - > MoveNext - > ReadNextElement - > lambda_method - >   的GetValue

     

System.InvalidOperationException :来自的指定强制转换   物化的'System.Int32'类型为'System.Guid'类型不是   有效的。

****注意:数据库表的列和数据模型的属性具有相同的类型。这个错误与铸造无关。**

1 个答案:

答案 0 :(得分:0)

问题可能是您处理工作量的方式吗?因为您尝试访问列表中不存在或尚未存在(延迟)的索引。我在这里发现了一些文章WCF - IndexOutOfRange exception when instantiating ChannelFactory