2011-01-19 23 views
0

Linq Get items higher then lastname私は人を特定の名前より上に上げる方法を尋ねました。リストの場所を見つける、

しかし、私たちはページング付きのデータグリッドを使用しています。姓が「Jan」以上の人のみを表示する場合は、AAで始まるユーザーに戻る方法はありません。

だから私は、通常の選択順序に従えば、その人がどのような場所にいるかを知る方法を探していましたか?

希望は、これは

[編集] クエリのタイプはEntityQueryである意味:)ます。

答えて

1

あなたの条件に一致する一人称レコードのインデックスが必要ですか?

var index = query.TakeWhile(person => person.LastName.CompareTo(name) < 0).Count(); 

これは条件に一致する要素の数を数え、戻り値は条件と一致しない最初の要素のインデックスです。

Where()で使用した条件を否定する必要があることに注意してください。この場合、TakeWhile()は不要な項目を取得するために使用されます。

+0

TakeWhileで与えられた例を使用してこの問題を解決するために管理EntityQueryに利用できないようです。名前空間がないのですか?うまくいけない場合は、別の方法を提供することができます。 –

+0

私はEntityQueryを一度も使用していませんし、かなり限定されたクエリ操作しかないようです。 ToList()でリストに変換してからTakeWhile()メソッドを使用できますか? – mgronber

+0

いいえ、リストに変換すると、まずデータベースからすべてのレコードを取得する必要があります。 entityQueryを使用すると、データベースから取得したレコードの量を制限でき、転送されるデータの量を制限できます。 –

関連する問題