所以,我有一个看起来像这样的列表.它基本上是一堆物品的状态历史,最近的状态代表当前状态.
Record Id State Date
===== === ========= =======
1 A Waiting Jan 01
2 A InProgress Jan 02
3 A Finished Jan 03
4 B Waiting Jan 02
5 C Waiting Jan 01
6 C InProgress Jan 02
7 D Waiting Jan 01
8 D InProgress Jan 02
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是能够查询每个项目的"当前"状态.例如,我想说:"给我所有的ID都是'InProgress'"并获得Id D和Id C,但不是Id A(因为它的最新状态是'完成').
我知道我必须做一些分组和一些订购或Maxing,但我不能完全把它放在一起.
myList.GroupBy(m => m.Id)
.Select(g => g.OrderByDescending(x => x.Date).First())
.Where(<your filter>);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3488 次 |
| 最近记录: |