假设我有一个名为 Storage 的表,其中包含此类记录
Item_Id | Date | Price
1 | 01/01/2011 | 50
1 | 03/26/2012 | 25
2 | 04/21/2012 | 20
3 | 08/02/2012 | 15
3 | 09/02/2012 | 13
4 | 10/02/2012 | 18
我想使用 linq to sql 获取 Item_Id 以及与之关联的最新日期(在这种情况下它将是“4”)。
我正在使用这个表达式
var lastDate= Storage
.GroupBy(s => s.Item_Id)
.Select(grp => new {
grp.Key,
LastDate = grp.OrderByDescending(
x => x.Date).First()
}).ToList();
我得到一个列表,其中包含每个 item_Id 的最新日期。所以下一步将是获得所有这些中最高的,但我被困在那里。
实际上,最终我需要跳过查询中的一些 Item_Id,但我想我可以在 Select 之前添加一个 where,例如 Where(s => s.Item.Id {这里是一个表达式检查它是否在我通过的列表中)。
我会很感激任何提示,
谢谢