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