在Linq中使用group by获取IQueryable数据

时间:2015-07-10 12:02:32

标签: c# asp.net-mvc linq iqueryable

var q = from n in CS.trackers
group n by n.Id into g
select g.OrderByDescending(t => t.DateTime).FirstOrDefault();

以上是从DB获取不同记录的代码。我想在IQueryable如上所述的上述记录。

var Details = (from Track in CS.trackers
where Track.system.Id == Track.Id
select new ClassTracker
{
    Id = Track.Id,
    SystemId = Track.SystemId,
});

Details .AsQueryable();

如何将第一个代码转换为IQueryable作为ClassTracker

的第二个返回

2 个答案:

答案 0 :(得分:0)

我会尝试删除.FirstOrDefault()? :)

FirstOrDefault返回(max)单个元素

答案 1 :(得分:0)

FirstOrDefault更改为Take(1)

select g.OrderByDescending(t => t.DateTime).Take(1);