【发布时间】:2013-11-25 16:46:55
【问题描述】:
我需要过滤这些结果以仅显示每个组的第一行和最后一行。我尝试了几种方法都没有运气。下面是 Linq 查询和结果。
Linq 查询:
var currentAndHistoricalOnly = ViewCustomerGLAndPurchaseRecord
.Where(g=>g.CashierDate > new Datetime(2012,10,01)
&& g.CashierDate < new DateTime(2012,12,01))
.GroupBy(x => x.TransactionId)
.OrderByDescending(d => d.First().CashierDate);
请记住,我试图保持相同的分组,但过滤(删除记录)每个组并且只获取每个组的第一条记录和最后一条记录。
所以而不是:
第 1 组:
- 记录 1
- 记录 2
- 记录 3
- 记录 4
- 记录 5
第 2 组:
- 记录 1
- 记录 2
- 记录 3
- 记录 4
我需要:
第 1 组:
- 记录 1
- 记录 5
第 2 组:
- 记录 1
- 记录 4
【问题讨论】: