我有一个看起来像这样的表:
| FruitID | BasketID | FruitKind | HarvestTime |
| 23 | 2 | 6 | 1/13/2013 |
| 24 | 2 | 3 | 1/19/2013 |
| 25 | 5 | 4 | 1/21/2013 |
| 26 | 5 | 3 | 1/31/2013 |
| 27 | 5 | 6 | 2/3/2013 |
我想查询某个列表中的所有水果,BasketID
将结果分组BasketID
,并在每个组中,查看最后一个HarvestTime
并返回所有BasketIDs
包含FruitKind
3 或 4 水果的列表(FruitKind 可以有值1 到 8 之间)。例如,如果我们传入BasketID
2 和 5,2BasketID
会返回,因为它最新FruitID
的 24 的 aFruitKind
为 3,但BasketID
5 的FruitID
27 的类型为 6。
这就是我卡住的地方:
var TheQuery = (from a in MyDC.TableFruits
where TheListOfBasketIDs.Contains(a.BasketID)
group a by a.BasketID into g
where .... "latest FruitID has FruitKind == to 3 || 4"
select g.Key).ToList();
我需要在每个组中订购 HarvestTime,以便我可以测试最新水果的 FruitKind。感谢您的建议。