C# 用于返回唯一项的嵌套列表的linq查询
我有一个linq查询,如下所示:C# 用于返回唯一项的嵌套列表的linq查询,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我有一个linq查询,如下所示: var leaveDetails = (from l in leaveList group l by new {l.LeaveDateStart.Year, l.LeaveType} into yearGroup select new { yearGroup.Key.Year,
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查询中实现。谢谢您有一个按年度和休假类型分组的当前结果。您只需按年份对当前结果进行分组,然后选择休假类型和休假值 如下所示(注意:尚未测试):
只要不按
l.LeaveType
进行分组,您就可以得到一个列表,其中包含您按年份获得的唯一yearGroup结果,您就完成了。@Maarten听起来是可行的。你介意作为回复发帖吗?谢谢,只需稍加修改,效果就很好了Year=yearGroup.Key'在select语句中。是的,我现在看到了。更正。
var leaveDetailsPerYear = (from l in leaveDetails
group l by l.Year
into yearGroup
select new {
Year = yearGroup.Key,
Data = yearGroup.ToList()
}
)
.ToList();