Linq to Sql Query选择最后一列

时间:2013-11-05 23:49:41

标签: c# entity-framework linq-to-sql entity-framework-4

我有这样的表

Id Count  Date
1   56    04.10.2012
2   41    05.10.2012
3   56    06.10.2012

我每天只有一张新记录,当天更新了计数

我需要使用Linq to Sql选择最新记录

var result = from q in repositoryManager.Repository.AsQueryable<Detail>()
             group q by q.Id
             into grp
             select grp.OrderByDescending(x => x.Id).FirstOrDefault();

上面的查询不起作用它返回第一行而不是最后一行。 如何解决?

1 个答案:

答案 0 :(得分:0)

您不需要group by,因为您没有聚合任何内容。试试这个:

var result = repositoryManager.Repository.OrderByDescending(x => x.Id).FirstOrDefault();

您的方法不起作用的原因是您订购了每个组(并且每个组只有一个记录),而不是组本身。当您不需要根据要分组的列聚合数据时,首先不需要组。