实体框架核心2.1-执行具有许多列的查询时获取StackOverflowException

时间:2018-07-11 19:24:31

标签: iis entity-framework-core stack-overflow entity-framework-core-2.1

自从更新到Entity Framework Core 2.1(当前为2.1.1)以来,我遇到了许多查询,这些查询现在引发StackOverflowException。这些查询在v2.0.x中有效。仅适用于较大的查询-50多个列。大多数查询并不复杂-它们都是具有10-15个连接和一个过滤器或2的单个select语句。

  

Microsoft.EntityFrameworkCore.Relational.dll中发生了类型为'System.StackOverflowException'的未处理异常

这就是我所得到的。我无法获得任何堆栈跟踪或其他有用的信息。

我在DbContext上设置了一个DebugLoggerProvider,看来查询已编译并执行得很好:

  

Microsoft.EntityFrameworkCore.Database.Command:信息:已执行的DbCommand(162毫秒)[Parameters = [@__ Id_0 ='1'],CommandType ='Text',CommandTimeout = '30']

是否存在一些问题?我要投影到的对象没有自我引用,只有简单的属性。我可以在LINQPad中运行完全相同的查询。在ASP.NET MVC(不是Core)网站上运行时,我只会看到StackOverflowException。

我可以注释掉一大堆属性投影并使查询正常工作,但是哪个属性似乎无关紧要。好像有一些列限制,但它在LINQPad中可以正常工作,以前也可以正常工作。

关于正在发生的事情或什至如何获得更多信息的任何想法?

0 个答案:

没有答案