LINQ | 如何在没有分组的情况下获得SUM?

3 linq linq-to-entities aggregate sum aggregation

疯狂的问题...但是,我想要一个表中的所有行的总和(不使用group by子句)

例:

Table = Survey
Columns = Answer1, Answer2, Answer3
        1        1         1
        4        3         5
        3        3         2
Run Code Online (Sandbox Code Playgroud)

我想要每列的总和.

最终结果应如下所示:

Answer1Sum  Answer2Sum  Answer2Sum

8           7           8
Run Code Online (Sandbox Code Playgroud)

这不起作用:

from survey in SurveyAnswers
select new
{
    Answer1Sum = survey.Sum(),
    Answer2Sum = survey.Sum(),
    Answer3Sum = survey.Sum()
 }
Run Code Online (Sandbox Code Playgroud)

Ale*_*ack 8

这会工作:

var answer1Sum = SurveyAnswers.Sum( survey => survey.Answer1 );
var answer2Sum = SurveyAnswers.Sum( survey => survey.Answer2 );
var answer3Sum = SurveyAnswers.Sum( survey => survey.Answer3 );
Run Code Online (Sandbox Code Playgroud)

  • 这意味着三个不同的查询.这不能用一个查询完成吗? (6认同)
  • 如果他想将所有内容都放在一个对象中,则基本上可以用新的{...}包装它。(不是说他这样做,只是指出了一个选择) (2认同)