ObjectQuery<T>.Top(String, ObjectParameter[]) メソッド

定義

クエリの結果を、指定されたアイテム数に制限します。

public:
 System::Data::Objects::ObjectQuery<T> ^ Top(System::String ^ count, ... cli::array <System::Data::Objects::ObjectParameter ^> ^ parameters);
public System.Data.Objects.ObjectQuery<T> Top (string count, params System.Data.Objects.ObjectParameter[] parameters);
member this.Top : string * System.Data.Objects.ObjectParameter[] -> System.Data.Objects.ObjectQuery<'T>
Public Function Top (count As String, ParamArray parameters As ObjectParameter()) As ObjectQuery(Of T)

パラメーター

count
String

結果に文字列として返されるアイテムの数。

parameters
ObjectParameter[]

解析時にスコープに含める必要があるオプションのクエリ パラメーターのセット。

戻り値

TOP が適用された元のインスタンスに相当する、新しい ObjectQuery<T> インスタンス。

例外

countnullです。

count が空の文字列です。

この例では、既存のクエリの最初の 2 つの結果を含む ObjectQuery<T> を新たに作成します。

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString, context, MergeOption.NoTracking);

    ObjectQuery<Product> productQuery2 = productQuery1.Top("2");

    // Iterate through the collection of Product items.
    foreach (Product result in productQuery2)
        Console.WriteLine("{0}", result.Name);
}

この例では、 でProduct.ListPrice並べ替えられたクエリ結果の最初の 3 つをスキップした後、5 つのProductオブジェクトを取得します。 Top は、ページングに LIMIT の代わりに使用されます。

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Define the parameters used to define the "page" of returned data.
    int skipValue = 3;
    int limitValue = 5;

    // Define a query that returns a "page" or the full
    // Product data using the Skip and Top methods.
    // When Top() follows Skip(), it acts like the LIMIT statement.
    ObjectQuery<Product> query = context.Products
        .Skip("it.ListPrice", "@skip",
                new ObjectParameter("skip", skipValue))
        .Top("@limit", new ObjectParameter("limit", limitValue));

    // Iterate through the page of Product items.
    foreach (Product result in query)
        Console.WriteLine("ID: {0}; Name: {1}",
        result.ProductID, result.Name);
}

注釈

Top は、クエリが並べ替えられていない限り、非決定的です。

メソッドの後に メソッドをTopSkip使用すると、ORDER BY 句の LIMIT ステートメントのように機能します。

適用対象

こちらもご覧ください