然后,Linq / Entity Group计算这些组

时间:2013-09-30 00:03:07

标签: asp.net-mvc linq entity-framework c#-4.0

我无法执行以下操作:

  1. 计算列x =“foo”出现的次数
  2. 并返回<“foo”列表,Count(“foo”)>
  3. 示例:

    Id    Name
    1    Ted
    2    Ted
    3    Ben
    4    Ben
    5    Ben
    6    Cop
    7    Null
    8    Null
    9    Null
    
    Resulting list would be:
    
    List<Count,Value>
         <Ted,2>
         <Ben,3>
         <Cop,1>
         <Null,3>
    

    我是linq / Entity的新手,无法理解。

    我有以下内容:

    var names= db.User.GroupBy(fu => fu.Name)
                      .Select(g => new { g.Key, Count = g.Count() });
    

    但是,这只让我选择Key,我想要这个:

        var names= db.User.GroupBy(fu => fu.Name)
                      .Select(g => new { g.Name, Count = g.Count() });
    

2 个答案:

答案 0 :(得分:4)

你非常接近。 试试以下

var names= db.User.GroupBy(fu => fu.Name)
              .Select(g => new { Name=g.Key, Count = g.Count() });

答案 1 :(得分:0)

试试这个,

 var names= db.User.GroupBy(fu => fu.Name)
                  .Select(g => new { Name = g.Key, Count = g.Count() });