如何总结所有记录的字段,然后用Linq返回所有总记录的最大值
问题描述:
我试图在所有记录被分组然后求和之后用最大值返回记录。我能够得到总数,但不能返回最大值的完整记录。如何总结所有记录的字段,然后用Linq返回所有总记录的最大值
这就是我到目前为止,我将如何获得最大总结值?
from es in EmployeeSkills
group es by es.Employee.FirstName + " " + es.Employee.LastName into empGroup
select new
{
Name = empGroup.Key,
YOE = (from y in empGroup select y.YearsOfExperience).Sum()
}
答
你可以使用Aggregate
扩展方法
var query=from es in EmployeeSkills
group es by es.Employee.FirstName + " " + es.Employee.LastName into empGroup
select new
{
Name = empGroup.Key,
YOE = empGroup.Select(y=>y.YearsOfExperience).Sum()
};
var result=query.Aggregate((seed, current)=>current.YOE>seed.YOE?current:seed);
或者你也可以使用MaxBy
扩展方法从MoreLinq库:
var result=query.MaxBy(e=>e.YOE);
我认为你有一个错字。如果你有'e',它应该是'current'。 –
@MikeHixson你是对的,谢谢 – octavioccl