1. ホーム
  2. c#

[解決済み] Linqからリストで返される結果の数を制限する

2023-07-02 06:46:35

質問

Linq/EF4.1を使ってデータベースから結果を取得していますが、結果を最新のもの(X)に制限したいと思います。 ここで、Xはユーザーによって設定された数です。

これを行う方法はありますか?

現在、私はそれらを List として返していますが、これは結果セットを制限するのに役立ちます。 Xをヒットするまでループすることでこれを制限することができますが、私はちょうど余分なデータを渡さないことを仮定しています。

念のため、それが関連している場合... C# MVC3 プロジェクトは、SQL Server データベースから実行されます。

どのように解決するのですか?

を使用します。 Take 機能

int numberOfrecords=10; // read from user
listOfItems.OrderByDescending(x => x.CreatedDate).Take(numberOfrecords)

仮定の話 listOfItems がエンティティオブジェクトのリストで CreatedDate は作成日の値を持つフィールドです (ここでは最近の項目を取得するために降順で並び替えを行うために使用します)。

Take()関数は、シーケンスの先頭から指定された数の連続した要素を返します。 シーケンスから指定された数の連続した要素を返します。

http://msdn.microsoft.com/en-us/library/bb503062.aspx