我需要将给定的linq查询转换为lambda表达式,即:
var scholars = (from scholar in db.Scholars
join suspension in db.Suspensions
on scholar.ID equals suspension.ScholarID
where suspension.StartDate >= startDate &&
suspension.EndDate <= endDate
group scholar by new { scholar.ID, scholar.FirstName, scholar.LastName }
into g
select new
{
FullName = g.Key.FirstName +" " + g.Key.LastName,
TotalSuspensionSum = g.Sum(x => x.Suspensions.Sum(y => y.SuspensionDays))
})
.ToList()
.OrderBy(x=> x.FullName);
where
,你可以使用扩展方法来实现,然后像往常一样通过 LINQ 关键字应用其余的转换。我猜你的问题是由于匿名分组类型引起的。你也可以随时创建自己的类型来保存键。 - Luaan