加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从Linq Group By输出2个字段

发布时间:2020-12-16 01:31:47 所属栏目:百科 来源:网络整理
导读:我想按类上的WorkGroup.GroupId属性进行分组 public class Employee{ public int EmployeeID {get; set;} public Group WorkGroup {get; set;}} 但是我需要输出组名属性(可能有重复但在同一个groupid之间相同) 喜欢的东西(这当然不起作用): var grps = from
我想按类上的WorkGroup.GroupId属性进行分组

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

但是我需要输出组名属性(可能有重复但在同一个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);
  }
}

解决方法

只按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
    };

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读