从组中选择唯一的项目,并通过ID获取相似的项目
本文关键字:项目 ID 获取 相似 选择 唯一 | 更新日期: 2023-09-27 18:08:34
var groups = db.Orders.GroupBy(x => x.OwnedOn);
假设groups返回以下结果:
组1:
[0] ID = 3 Name = "Uncharted 4" OwnerID = 1 Owned On 21/08/2016
[1] ID = 6 Name = "Assassin's Creed" OwnerID = 3 Owned On 21/08/2016
[2] ID = 4 Name = "Tomb Raider" OwnerID = 2 Owned On 21/08/2016
组2:
[0] ID = 5 Name = "Assassin's Creed" OwnerID = 7 Owned On 22/08/2016
集团3:
[0] ID = 21 Name = "FIFA 17" OwnerID = 10 Owned On 23/08/2016
[1] ID = 12 Name = "Crash Bandicoot" OwnerID = 5 Owned On 23/08/2016
Ok。现在我想执行Linq,这将给我一个项目从每组最高的OwnerID。所以预期的结果是:
[0] ID = 6 Name = "Assassin's Creed" OwnerID = 3 Owned On 21/08/2016
[1] ID = 5 Name = "Assassin's Creed" OwnerID = 7 Owned On 22/08/2016
[2] ID = 21 Name = "FIFA 17" OwnerID = 10 Owned On 23/08/2016
我相信这样做就可以了:
db.Orders.GroupBy(x => x.OwnedOn)
.Select(grp => grp.OrderByDescending(e => e.OwnerID).First());
。净小提琴