如何在lambda表达式中使用count查询

时间:2014-01-06 18:43:12

标签: entity-framework

我写了一个lambda表达式并生成下面的结果。

结果

    GroupId GroupName
    1   network.it
    1   network.it
    1   network.it
    2   software.it
    2   software.it
    2   software.it
    2   software.it

获得上述结果后,我想通过lambda表达式使用CountGroupBy来转换上述数据,如下所示。

期望的结果

    Group Id, GroupName, Count
    1         network.it  3
    2         software.it  4

我希望任何人都能尽快回答。

提前致谢

2 个答案:

答案 0 :(得分:0)

您必须使用Group By子句

var result = from d in data
             group d by d.GroupId into g
             select new {g.Key, g.First().GroupName, g.Count()}

答案 1 :(得分:0)

有点晚了,但万一有人遇到这个寻找相同的信息,lambda方式将是

var result = Data
             .GroupBy(d => d.GroupId)
             .Select(d => 
                 new 
                 { 
                    GroupId = d.Key, 
                    GroupName = d.FirstOrDefault().GroupName, 
                    Count = d.Count()
                 });