linq 查询 return 嵌套列表的唯一项

linq query to return nested list for unique items

我有一个 linq 查询:

            var leaveDetails = (from l in leaveList
            group l by new {l.LeaveDateStart.Year, l.LeaveType}
            into yearGroup
            select new 
            {
                yearGroup.Key.Year,
                yearGroup.Key.LeaveType,
                LeaveTaken = yearGroup.Sum(l => EntityFunctions.DiffDays(l.LeaveDateStart, l.LeaveDateEnd))

            }).ToList();

结果如下:

但是我想按不同的年份分组。因此,对于每个独特的年份,我都有一个休假类型列表和休假天数。

我试过在 javascript 的前端做,但看起来很乱。有没有一种方法可以在 C# 或 linq 查询中完成。谢谢

您有一个按年份和休假类型分组的当前结果。您可以简单地按年份对当前结果进行分组,select 休假类型和休假作为每组的价值。

像这样(注:没测试过):

var leaveDetailsPerYear = (from l in leaveDetails
                           group l by l.Year
                           into yearGroup
                           select new {
                                Year = yearGroup.Key,
                                Data = yearGroup.ToList()
                           }
                          )
                          .ToList();