分组是 LINQ 的一个领域,我还没有完全理解。我有以下代码:
var subTrips = tbTripData
.Where(t => selectedVehicleIds.Contains(t.VehicleID))
.Join(tbSubTripData,
t => t.TripID,
s => s.TripID,
(t, s) => new { t = t, s = s })
.Select(r =>
new SubTrip
{
VehicleID = r.t.VehicleID,
TripID = r.t.TripID,
Sequence = r.s.Sequence,
TripDistance = r.s.TripDistance,
Odometer = r.s.Odometer
})
.ToList();
我试图找出一个 LINQ 查询,它将查看 subTrips 并为每个VehicleID
,找到第一个Odometer
,即Odometer
对应于最低值TripID
和Sequence
值。
我已经戳了一个小时,但就是想不通。在我放弃并编写程序代码之前,谁能提供一些建议?
更新:为了澄清,Sequence 是行程中每个子行程的序号。因此,当每个分组 VehicleID 中的子行程按 TripID 然后按序列排序时,我正在寻找的是每辆车的第一个子行程的里程表。