2011-06-09 56 views
1

如何在LINQ中使用LAMBDA表达式来制定以下内容。LINQ/LAMBDA中物品的最新价格

考虑(为简单 - 这实际上是后来加入)一个与领域表:

  • 项目
  • 价格
  • 时间戳

被映射到一个类。我使用BlToolkit,但也可以是LINQ或EF - 没有区别。

我想要Item = 2和最高时间戳(最新)的对象和/或所有项目的查询,但只有最新的对象。

我该如何配制?

我知道可能会有一个子查询涉及,但我有一个问题找到正确的语法。

回答

3

用流利的语法,具有最高时间戳的项目,Item==2是:

var item= table.Where(i => i.Item == 2) 
       .OrderByDescending(i => i.Timestamp) 
       .SingleOrDefault(); 
+0

应该使用OrderByDescending。 – sgmoore 2011-06-09 12:11:52

+0

好的,当我想要一个项目列表时,我该怎么做?或所有项目?名字中包含“处理器”的everythinw的首要项目是什么? – TomTom 2011-06-09 15:08:35

+0

@TomTom - 自己做点功课的时间;-) – ColinE 2011-06-09 16:25:58