我需要计算所有经销商的平均成绩。
我的结果使用Linq检索如下:
var gradeData = (from data in oAngieCtxt.prc_ShopInstanceCustomersData(Convert.ToInt32(this.ShopInstanceID), 10000, false)
.Where(row => row.RecievedPoints != "n/a")
.GroupBy(row => new { row.Name })
.Select(g => new
{
TotalPoints = g.Sum(x => Convert.ToDouble(x.RecievedPoints) * (x.Weightage.ToString() == "0.00" ? 1 : Convert.ToDouble(x.Weightage))),
Name = g.Key.Name
})
select data).ToList();
现在,我想要avg =(所有TotalPoints的总和)/gradeData.Count
问题是我无法从gradeData获得所有TotalPoints的总和。
如何在不使用foreach的情况下实现这一目标?
答案 0 :(得分:1)
你可以使用" sum"聚合函数。
int sum = gradeData.sum(O => O.TotalPoints);