我是Linq的新手 . 我正在尝试编写一个linq查询来从一组记录中获取最小值 . 我需要在同一个查询中使用groupby,where,select和min函数,但是在使用group by子句时我遇到了问题 . 这是我写的查询
var data =newTrips.groupby (x => x.TripPath.TripPathLink.Link.Road.Name)
.Where(x => x.TripPath.PathNumber == pathnum)
.Select(x => x.TripPath.TripPathLink.Link.Speed).Min();
我不能一起使用group by,它一直在给错误 .
我的查询应该
-
选择所有值 .
-
通过where子句(pathnum)对其进行过滤 .
-
Groupby the road名称
-
终于得到最小值 .
有人可以告诉我我做错了什么,以及如何达到预期的结果 .
谢谢,Pawan
2 回答
不知道数据之间的关系有点棘手,但我认为(没有尝试)这应该给你想要的 - 按名称的每条道路的最低速度 . 请注意,它将生成具有Name和Speed属性的匿名对象的集合 .
因为我认为你想要具有最低速度而不是速度的Trip,并且我假设一个不同的数据结构,我将添加到tvanfosson的答案: