获取linq

时间:2016-06-07 19:03:28

标签: linq linq-to-entities

我有以下结果集。如何获取符合条件的最新历史记录:在linq中状态='A'?对实体ID进行分组,记录将按历史记录ID

降序排序
History ID  Entity ID   Status
2969        6957        I
2968        6957        A
2967        6957        A
2303        6957        I
1000        6958        A
55          6959        A
50          6959        I
45          6960        I
40          6960        A

结果应该给我

History ID  Entity ID   Status
1000        6958        A
55          6959        A

1 个答案:

答案 0 :(得分:0)

首先按实体分组,获取每个组的“最新”记录。最后检查状态为A

histories.GroupBy(h => h.EntityId)
         .Select(g => g.OrderByDescending(h => h.HistoryID)
                       .First())
         .Where(h => h.Status == "A");