EF Core Groupby 获取行的最高值
EF Core Groupby Get highest value of row
我有以下 table:
| Id | ParentId | Version |
---------------------------
| 1 | 1 | 0 |
| 2 | 1 | 1 |
| 3 | 1 | 2 |
| 4 | 4 | 0 |
| 5 | 4 | 1 |
| 6 | 4 | 2 |
我正在寻找查询 (pref Linq to EF) 我可以在其中 select 每组 ParentId
最高 Version
秒。
我目前有这样的东西:
await _context.Actions.GroupBy(a => a.ParentId)
.Select(s => s.Max(a => a.Version))
.ToListAsync();
我遇到的唯一问题是只返回版本行,但我希望按组返回整行。
您需要按降序排列,每组取第一个
await _context.Actions
.GroupBy(a => a.ParentId)
.Select(s => s.OrderByDescending(a => a.Version).First())
.ToListAsync();
我有以下 table:
| Id | ParentId | Version |
---------------------------
| 1 | 1 | 0 |
| 2 | 1 | 1 |
| 3 | 1 | 2 |
| 4 | 4 | 0 |
| 5 | 4 | 1 |
| 6 | 4 | 2 |
我正在寻找查询 (pref Linq to EF) 我可以在其中 select 每组 ParentId
最高 Version
秒。
我目前有这样的东西:
await _context.Actions.GroupBy(a => a.ParentId)
.Select(s => s.Max(a => a.Version))
.ToListAsync();
我遇到的唯一问题是只返回版本行,但我希望按组返回整行。
您需要按降序排列,每组取第一个
await _context.Actions
.GroupBy(a => a.ParentId)
.Select(s => s.OrderByDescending(a => a.Version).First())
.ToListAsync();