linq基于Group转换列表

时间:2017-11-06 07:22:34

标签: c#

基本上我有一个员工集合,其中包含以下详细信息。以下列表可在DataTable或List中找到。

EmpId DeptId  Status
3     15      Registered
3     15      Completed
3     15      Discontinued

我想将此转换为单个记录,其中Status为逗号分隔值

EmplId DeptId Status
3      15     Registered, Completed, Discontinued

我想知道如何通过DataTable或List实现它。如有任何建议,请告诉我

1 个答案:

答案 0 :(得分:-1)

试用此代码

var res=(from item in Emp
             group item by new { item.EmpId,item.DeptId}  into groupData
             select new 
             {
                 EmpId=groupData.Key.EmplId,
                 DeptId=groupData.Key.DeptId,
                 Status=string.Join(",",groupData.Select((x=>x.Status)).ToList())
             }).ToList();