Linq到SQL结果的聚合函数

时间:2013-09-04 11:26:22

标签: c#-4.0 linq-to-sql

我需要计算所有经销商的平均成绩。

我的结果使用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的情况下实现这一目标?

1 个答案:

答案 0 :(得分:1)

你可以使用" sum"聚合函数。

int sum = gradeData.sum(O => O.TotalPoints);