C# 在linq联接后获取总和

C# 在linq联接后获取总和,c#,linq,C#,Linq,我使用这个linq查询来获得一个双打列表。这个列表看起来是正确的,但现在我需要把列表中的双打加起来 var total = from sauId in schools join item in entities.AmountTable on sauId equals item.sauId

我使用这个linq查询来获得一个双打列表。这个列表看起来是正确的,但现在我需要把列表中的双打加起来

        var total = from sauId in schools
                                    join item in entities.AmountTable
                                    on sauId equals item.sauId
                                    select item.amount;
对结果使用
Sum()

   var total = (from sauId in schools
               join item in entities.AmountTable
               on sauId equals item.sauId
               select item.amount).Sum();

如果
item.amount
是一个
double
,那么
total
也是一个
double
,对于任何想要流利语法的人来说,我相信这是一种方法:

var total = schools
   .Join(
      entities.AmountTable,
      s => s.sauId,
      at => at.sauId,
      (s, at) => at.amount)
   .Sum();

尝试按其
sauId
对数据进行分组:

var qry = from item in entities.AmountTable
         group item by item.sauId into grp
         select new {
             sauId = grp.Key,
             amuont = grp.Sum(c=>c.amount)
         };

谢谢,我试着把整个查询放在总和括号内。如果你只想要总和,为什么要加入学校?var total=实体.AmountTable.Sum(p=>p.amount)