当我从v 5升级到v 6.0.2时,我的一个查询开始给我一个堆栈溢出。
答案 0 :(得分:0)
最后,我用左连接替换了所有的Include子句(即使用DefaultIfEmpty子句连接),并修复了堆栈溢出问题。但是,我不相信我的模型中有任何递归。该查询确实适用于实体框架的第5版。
答案 1 :(得分:0)
这是因为在EF6中,UseDatabaseNullSematics
默认设置为false
,这会导致创建更大的查询。这是在https://entityframework.codeplex.com/workitem/1579跟踪的。只需将此标志翻转到true
,您就可以获得EF5中的相同查询,但是查询可能有时会产生意外(从C#程序员角度来看)结果。 EF6.1正在解决这些问题,即使UseDatabaseNullSemantics
设置为true
,查询也应该更小。有关详细信息,请参阅: