1. 程式人生 > 實用技巧 >LINQ 使用group實現多欄位的分組

LINQ 使用group實現多欄位的分組

原文:https://blog.csdn.net/pan_junbiao/article/details/79968226

 
    //歸集每個部門資訊
    List<DeptInfo> deptList = (from emp in empList
                                where emp.Status == "在職"            //篩選“在職”員工     
                                orderby emp.DeptID ascending          //按“部門ID”排序
                                group emp by new
//按“部門ID”和“部門名稱”分組 { emp.DeptID, emp.DeptName } into g select new DeptInfo() { DeptID
= g.Key.DeptID, DeptName = g.Key.DeptName, EmplayeeCount = g.Count(), //統計部門員工數量 WageSum = g.Sum(a => a.Wage), //統計部門工資總額 WageAvg = g.Average(a => a.Wage), //
統計部門平均工資 EmplayeeList = (from e in g //歸集部門員工列表 select new Emplayee() { EmpID = e.EmpID, EmpName = e.EmpName } ).ToList() }).ToList();