我有一个简单的实体框架查询。它使用分组:
source.GroupBy(x => x.Key)
.Select(x => x.Count(z => z.IsDefaultValue == false) > 0
? x.FirstOrDefault(z => z.IsDefaultValue == false)
: x.FirstOrDefault()
);
它的执行计划如下所示:
然后我更改查询:
source.GroupBy(x => x.Key)
.Select(x => x.Any(z => z.IsDefaultValue == false)
? x.FirstOrDefault(z => z.IsDefaultValue == false)
: x.FirstOrDefault()
);
现在我使用Any而不是Count。它的计划是这样的:
我的问题是:我应该使用什么查询?什么查询更有效?
我对执行计划一无所知:(您在这些执行计划中看到了哪些重要信息?
编辑:请将图片拖到新标签中,它会更具可读性。