我遇到了导致异常的linq
查询的问题。我知道为什么会发生异常,但我不确定重写查询的最佳方式是什么。如果可能的话,我想保留在linq
中,但是如果这是更好的方法,我不反对使用循环和空对象检测。Linq未将对象引用设置为对象实例 - 内部集合null
这里是我的查询 - 问题是AnalysisResults
有时为空(不是简单的空实例化集合)。也就是说,前任集合也可以为null,所以我更喜欢可以应用于所有集合的方法。
benchmarks = (from p in cacheData.SiteSources
from q in p.SiteGroup.SiteGroupSites
from r in q.Site.AnalysisResults
where r.BufferTypeId == bufferTypeId &&
r.BufferValue == bufferValue
select r).ToList();
有没有一个简洁的方法来解决null AnalysisResults
?
改变你的对象不返回null,但实际空结果。这正是为什么当预期收集时不应该返回null的原因。 –