我一直在玩left joins in linq,发现有必要使用DefaultIfEmpty()
才能将联接从inner
更改为left
。
看着DefaultIfEmpty()
的返回类型,我从性能角度开始感到担忧,因为我看到它正在返回IEnumerable
,我们知道caches the data locally。在我的场景中,我正在进一步处理左连接的数据发布,理想情况下是将类型保留为IQueryable
,但是当我将解决方案按原样部署到我的开发环境时,我很惊讶地看到直观/最小的性能影响。
为什么DefaultIfEmpty()
似乎没有显着的性能影响,或者我不能正确了解情况?