我认为我不应该按特定列进行分组,以便在LINQ或lambda表达式中返回SUM和COUNT的聚合。
是否有一种快速有效的方法可以在LINQ中重现以下T-SQL查询或作为Lambda表达式
SELECT COUNT(*), SUM(SomeIntegerColumn) From SomeTable
也许有一些我缺少的东西
答案 0 :(得分:6)
试试这个:
from x in SomeTable
group x by 1 into g
select new
{
Count = g.Count(),
Sum = g.Sum(x => x.SomeIntegerColumn)
}
诀窍是"虚拟"分组,可让您在一个查询中计算多个内容。
答案 1 :(得分:0)
如果你真的想在没有小组的情况下这样做,你可以:
var sumCount =
new { count = yourCollection.Count(), sum = yourCollection.Sum(i => i.SomeIntegerColumn) };