2010-02-11 66 views
0

的sql我想翻譯這個簡單的SQL語句的LINQ到SQL:LINQ與多個聚合

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

最接近的LINQ到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)}; 

由於這不會產生預期結果,必須改變什麼?

在此先感謝

回答

0

應該產生相同的結果。它不以什麼方式?

+0

你是對的!在行動它產生正確的結果! ...我在哪裏調試?? hhhmmmm .... – 2010-02-11 15:17:43

0

你想沒有小組。 我能想到的唯一的辦法是這樣的:

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

這是一個有點一個壞消息,因爲它發出2個獨立的查詢。

你可以使用linqpad:http://www.linqpad.net/找出你的linq發出的是什麼sql。

+0

在我的情況下,我不能使用這種方法,因爲實際的聲明要複雜得多,因此會引起性能問題。但非常感謝,畢竟知道這很好! – 2010-02-11 15:19:59