linq to sql with multiple aggregators

时间:2010-02-11 13:08:09

标签: linq-to-sql aggregate

我想将这个简单的SQL语句翻译成linq-to-sql:

SELECT SUM(field1), SUM(field2)
FROM TableName

最接近的linq-to-sql是(我认为)使用group by子句:

from tbl in TableName
group tbl by (1) into g
select new{ value1= g.Sum(p => p.field1), value2 = g.Sum(p => p.field2)};

由于这不会产生预期的结果,必须改变什么?

提前致谢

2 个答案:

答案 0 :(得分:0)

应该产生相同的结果。它不以什么方式?

答案 1 :(得分:0)

你想要它没有小组。 我能想到的唯一方法是:

var result =  new {value1 = Table1.Sum(a => a.field1), value2 = Table1.Sum(a => a.field2)};

这有点令人失望,因为它会发出2个单独的查询。

你可以使用linqpad:http://www.linqpad.net/找出你的linq发出的sql。