为什么OrderBy中的空引用不会爆炸?

时间:2016-06-15 18:28:39

标签: .net entity-framework linq linq-to-entities

我遇到了以下代码:

{{1}}

实际上我添加了"继续;"排成一行来说明发生了什么。它实际上击中了那条线。我不明白这是怎么回事。

要进入循环,它必须根据member.Person订购集合。但是member.Person对于至少一个元素是null,那么它怎么可能没有爆炸呢?我将.ToList()添加到OrderBy的末尾以消除延迟混淆的可能性,但这不是问题,因为它需要在进入循环之前实现OrderBy。

我不知道OrderBy中有任何特殊的异常处理。我错过了什么?

1 个答案:

答案 0 :(得分:0)

在我点击Post之前想出来但我会在这里记录它。原因是manager.Memberships是一个转换为T-SQL的表达式。如果它是内存中的集合,我的期望是正确的。由于它是一个表达式,因此它会在转换为T-SQL时出现一些丢失的翻译效果,而T-SQL并不关心Person是否为null。漏洞抽象。