linq group&总和查询

时间:2011-09-02 08:08:18

标签: linq

我有一个代表电话的实体框架对象。

如何按持续时间对拨打的号码进行分组 并将其投射到{Number = xxx,DurationSum = yyy}

我是一名林肯新手,似乎无法做到正确。

2 个答案:

答案 0 :(得分:2)

我想你想要这样的东西:

var query = from call in db.Calls
            group call by call.Number into g
            select new { Number = g.Key, DurationSum = g.Sum(c => c.Duration) };

答案 1 :(得分:0)

假设你有一个这样的课程

class DialedNumber {
    public string Number { get; set; }
    public int Duration { get; set; }
}

你有一个名为dialedNumbers的集合。你可以使用像这样的查询

var groupResult = from dialNumber in dialNumbers
                  group dialNumber by dialNumber.Number
                  into dialNumberGroup
                  select new { 
                               Number = dialNumberGroup.Key, 
                               DurationSum = dialNumberGroup.Sum(d => d.Duration) 
                             };

我还没有测试过。我希望这会回答你的问题。