【发布时间】:2010-05-06 00:20:57
【问题描述】:
我想在查询构建器表达式中进行分组和排序。以下查询使我接近我想要的,但 order by 似乎不起作用。
我所拥有的是一个具有唯一 id 的对象,但有些对象会有一个共同的 versionId。我想获取相同 versionId 的最后编辑项目。所以每个版本 ID 只有一个项目,我希望它是最后一个编辑的项目。
IQueryable<Item> result = DataContext.Items.Where(x => (x.ItemName.Contains(searchKeyword) ||
x.ItemDescription.Contains(searchKeyword))
.GroupBy(y => y.VersionId)
.Select(z => z.OrderByDescending(item => item.LastModifiedDateTime).FirstOrDefault());
编辑:我并不真正关心结果集的顺序,我真的只关心返回分组中的哪些项目。我想确保返回 versionId 组中最后编辑的项目。
【问题讨论】:
标签: c# linq entity-framework