【发布时间】:2015-08-04 23:20:30
【问题描述】:
我正在研究 LINQ,尤其是 MSDN 上的 LINQ to SQL 并遇到了这个例子,除非有一些聪明的魔法,否则它看起来像是一个极端牺牲计算资源而不是代码可读性的例子。
int highScoreCount =
(from score in scores
where score > 80
select score)
.Count();
请告诉我,此查询不会加载列表中的所有分数,只是为了获取它们的计数。甚至没有超过80的分数。
如果对于这个特定的查询是这种情况,是否有一种改变它以避免加载完整的分数列表?比如“选择(计数)分数”。
谢谢。
编辑:我很抱歉我很懒惰并且没有首先查找查看生成的 SQL 的方法。我发现最简单的方法是使用 LinqPad
【问题讨论】:
-
好的,它不会加载列表中的所有分数只是为了计算它们!
-
说真的,您是否尝试过查看它生成的 SQL?
-
好的,我为这个懒惰的问题道歉,我应该寻找查看生成 SQL 的方法。无论如何,我发现查看生成的 SQL 的最简单方法是在 LinqPad 中运行一些查询。这里生成的SQL和我手写的相差不远。
标签: c# .net linq linq-to-sql