我有一个 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 查询中完成。谢谢
最佳答案
您有一个按年份和休假类型分组的当前结果。您可以简单地按年份对当前结果进行分组,然后选择休假类型和休假作为每组值(value)。
像这样(注:没测试过):
var leaveDetailsPerYear = (from l in leaveDetails
group l by l.Year
into yearGroup
select new {
Year = yearGroup.Key,
Data = yearGroup.ToList()
}
)
.ToList();
关于c# - linq查询返回唯一项的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29693706/