【发布时间】:2023-03-17 16:00:01
【问题描述】:
在此列表中,一位教师可以有多个 SchoolEndYears。我想修改这个查询,所以我只为每个老师获取最大值。
- A老师 - 2012
- A老师 - 2013
- A 老师 - 2014 年
- B 老师 - 2013 年
- 教师 C - 2012
代码:
var gridInfo = (from teacher in TeacherAccesses
join u in USERS
on teacher.ID equals u.ID
select new
{
Name = u.LastName + ", " + u.FirstName,
ID = teacher.ID,
Flag = "Existing",
SchoolID = teacher.SchoolID,
status = teacher.TeacherAttr.IncludeinOfficialResults.Value,
SchoolEndYear = teacher.TeacherAttr.SchoolEndYear
}).OrderByDescending(x=>x.SchoolEndYear).OrderBy(x=>x.Name);
如您所见,我尝试执行 .OrderByDescending,但当我尝试执行 .FirstOrDefault 时,它只带回了组中的第一条记录。
我希望带回来的是:
- A 老师 - 2014 年
- B 老师 - 2013 年
- 教师 C - 2012
【问题讨论】:
标签: c# linq-to-sql