2012-02-07 10 views
2

私はLinqクエリを作成する次のコードを持っています。 私は今日(私に恥)までのLINQを使用していないと、「ORDER BY句」との問題を抱えて決してしましLinq to DataSet 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'は現在のスコープで宣言されていないか、または宣言されていません。

「Select Clause」の重みは機能しますが、「Order By Clause」では機能しません。

pがスコープ内にもはやあるSelect句、後はあなた

答えて

2

ありがとうございます。
最初にOrder Byを移動してください。

+0

素晴らしい!私はこのサイトを参照していました。 http://msdn.microsoft.com/en-us/vstudio/bb738037#ordbysimp1 Select句は必ず最後に行かなければなりませんか? – shinya

+0

@shinya: 'Order By 'は' Select'の後に置くことができますが、 'Select'のフィールドにしかアクセスできません。 – SLaks