代码之家  ›  专栏  ›  技术社区  ›  Element

从Linq Group By输出2个字段

  •  3
  • Element  · 技术社区  · 16 年前

    我要按类上的Workgroup.GroupID属性分组

    public class Employee
    {
      public int EmployeeID {get; set;}
      public Group WorkGroup {get; set;}
    }
    

    但是,我需要输出group name属性(该属性可能有重复项,但在同一个groupid之间是相同的)

    比如(这当然不行):

    var grps = from emp in Emps
              group emp by emp.WorkGroup.GroupID into g
              select new { GroupID = g.Key, Title = g.Key.WorkGroup.GroupTitle,  Employees = g };
    

    我正在寻找可以让我做的输出:

    foreach (var g in grps)
    {
      Console.WriteLine(g.Title + "-" + g.GroupID);
      foreach (var e in g.Employees)
      {
         Console.WriteLine(e.EmployeeID);
      }
    }
    
    1 回复  |  直到 16 年前
        1
  •  7
  •   Ben M    16 年前

    仅按ID和标题分组:

    var grps = 
        from emp in Emps
        group emp by new 
        { 
            GroupID = emp.WorkGroup.GroupID, 
            GroupTitle = emp.WorkGroup.GroupTitle 
        } into g
        select new 
        { 
            GroupID = g.Key.GroupID, 
            GroupTitle = g.Key.GroupTitle,  
            Employees = g
        };