首页 > 解决方案 > 使用 LINQ Lambda 对跟踪结果列表进行分组,根据是跟踪还是现场事件按升序或降序对每个组进行排序

问题描述

我有一个名为 RankingModel 的模型,其中包含以下字段 ResultId、PersonId、LastName、EventId、EventName、MeetId、MeetName、TeamId、TeamName、Mark、Wind、EventType、ResultDate 和 Rank。

我有一个结果列表,想使用 Lambda 表达式按 EventId 对结果进行分组,如果 EventType 为“track”,则按升序排列每个组的结果,如果 EventType 为“Field”,则按降序排列,那么我想如果某人有多个结果,请选择每个人的最佳结果。之后,我想为每个组中的每个结果分配一个排名。

这可能与Lambda有关吗?如果是这样怎么做?

I have tried this so far
var sortedRM = results.Where(x => x.EventType == "T")
                .ToList()
                .OrderBy(m => m.Mark)
                .GroupBy(g => g.EventId)
                .ToList();

标签: lambda

解决方案


推荐阅读