假设我有下表:
Incident ID deviceid Time Info 1 1 5/2/2009 d 2 2 5/3/2009 c 3 2 5/4/2009 b 4 1 5/5/2009 a
在LINQ中,我如何编写查找最近和不同(在设备ID)事件集的查询?我想要的结果是这样的:
ID deviceid Time Info 3 2 5/4/2009 b 4 1 5/5/2009 a
你必须创建一个IEqualityComparer来做到这一点吗?
var query = incidents.GroupBy(incident => incident.deviceid) .Select(g => g.OrderByDescending(incident => incident.Time).First()) .OrderBy(i => i.Time); // only add if you need results sorted