我们在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'类型不是 有效的。
****注意:数据库表的列和数据模型的属性具有相同的类型。这个错误与铸造无关。**
答案 0 :(得分:0)
问题可能是您处理工作量的方式吗?因为您尝试访问列表中不存在或尚未存在(延迟)的索引。我在这里发现了一些文章WCF - IndexOutOfRange exception when instantiating ChannelFactory