2011-06-09 47 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