2012-02-07 48 views
2

我有下面的代碼創建Linq查詢。 我從來沒有使用LINQ的直到今天(可恥的是我),並有問題「ORDER BY子句」LINQ到數據集ORDER BY子句錯誤

Dim products = dt.AsEnumerable() 
    Dim linq = From p In products _ 
       Where p!Weight > 2 _ 
       Take 20 _ 
       Select p!Clarity, p!Color, p!Weight _ 
       Order By p!Weight.Length 

如果我運行代碼,我得到以下錯誤。

名稱「P」是不是沒有在當前範圍內聲明的或沒有。

爲什麼p!在「選擇條款」的作品,但不是在「ORDER BY子句」體重?

謝謝

回答

2

Select條款後,p不再範圍。
移動Order By第一。

+0

太好了!我指的是這個網站。 http://msdn.microsoft.com/en-us/vstudio/bb738037#ordbysimp1選擇子句應該去最後總是?? – shinya 2012-02-07 23:57:54

+0

@shinya:你可以把'訂購By'了'Select'之後,卻只能訪問到田間地頭的'Select'。 – SLaks 2012-02-08 07:25:40