2013-03-07 36 views
0

通過googling我做了以下select查詢以獲取列ID的最大值。Linq通過選擇查詢獲取變量值

var result = (from rs in db.tradeFiles 

          select (rs.ID)).Max(); 

請讓我知道這是一個查詢是寫取最大值列ID。

而爲了從我的foreach循環以下面的方式,這也是行不通的數據。

foreach(var item in result) 
      { 

      } 

請讓我知道什麼是錯誤,什麼是從選擇查詢中提取數據的正確方法。

回答

4

結果是值本身,只是使用它,沒有必要遍歷它。如果例如rs.ID列是int,則結果將是int

+0

如果VAR的結果=(從db.tradeFiles RS 選擇( rs.ID))這是查詢,那麼我應該如何拉出個人ID值? – Freelancer 2013-03-07 13:04:55

+1

@freelancer from ... select'構造總是返回一個列表或結果(IEnumerable是確切的)。有些方法可以將這個列表縮小到1個項目,比如'First'和'Single'。 – Andrey 2013-03-07 13:10:07

+0

好的,謝謝你... – Freelancer 2013-03-07 13:13:41

1

Enumerable.Max無法枚舉,它會返回您正在查找的值。

+0

如果var結果=(從rs在db.tradeFiles選擇(rs.ID))這是查詢,那麼我應該如何拉出個人ID值? – Freelancer 2013-03-07 13:07:46

0

結果你會得到一個int值,因爲你正在取最大值的列。它會給一個單一result.if你想利用價值了一些特定的ID,您只需打一個WHERE條件並選擇value.like

(from rs in db.tradeFiles 
where rs.id==1 
select (rs.Name)); something like this..