2016-07-29 2 views
-1

私はlinqを書いて2つのデータセットを得ました。私はSQLを介してデータセットを注文したので、linqを使用して結果を絞り込むことができました。 Take()を使用して必要な行を取得しましたが、今度はEPPlusを使用してスプレッドシートとして出力できるように並べ替える必要があります。私はVS2015 vb.netを使用しています。私は、LINQクエリの結果がレコードを返さ並べ替える方法を知りたいのですが、簡潔にTake()を使用した後にlinq式を並べ替えます

Dim linqTemp = (From t1 In dsTempResults.Tables(0).AsEnumerable Group Join 
       t2 In _myDtPalletGun.AsEnumerable On t1.Field(Of String)("item_no") Equals t2.Field(Of String)("Item_No") 
         Into dataGroup = Group From row In dataGroup.DefaultIfEmpty Where row IsNot Nothing 
         Select t1).Distinct().Take(Convert.ToInt16(Me.txtNumberToReturn.Text)) 

:ここ

はコードです。

+2

「OrderBy」を呼び出しますか? – Shyju

答えて

0

クエリの最後に次のように追加します。

.ToList().OrderBy(x => x.MyOrderProperty).ToList(); 

最初のToList()はデータベースクエリを評価し、orderbyは現在メモリにあるオブジェクトを並べ替えます。

(脇;。。それは参加を行う前に(0)表に戻っすべてをもたらす可能性がありますように、このコードdsTempResults.Tables(0).AsEnumerableに見える、それはあまりにも多くのデータを復活させていないことは注意してください)

+0

私はあなたの行を試しました。私はおそらくそれを動作させるには十分スマートではないでしょう。私はそれを試して、 "オーダービー"と私はそれを得ることはありませんグーグル。しかし、私は少しチートを置くことができました。私はちょうど前のlinqに基づいて別のlinqをして、それは働いた。私はこの行を追加しました:Dim linqSort =(from l1 linqTemp l1 Order By l1.Field(Of String)( "item_no")) –

0

ここれます私はそれをどのように機能させるのか。私はちょうど前のlinqに基づいて別のlinqをして、それは働いた。私はこの行を追加しました:

Dim linqSort = (From l1 In linqTemp Select l1 Order By l1.Field(Of String)("item_no")) 
関連する問題