ObjectQuery<T>.Top(String, ObjectParameter[]) Method

Определение

Результаты запроса ограничиваются определенным числом элементов. Limits the query results to a specified number of items.

public System.Data.Objects.ObjectQuery<T> Top (string count, params System.Data.Objects.ObjectParameter[] parameters);
Параметры
count
String

Количество элементов в результирующем наборе в виде строки. The number of items in the results as a string.

parameters
ObjectParameter[]

Дополнительный набор параметров запроса, которые должны находиться в области действия во время синтаксического анализа. An optional set of query parameters that should be in scope when parsing.

Возвраты

Новый экземпляр запроса ObjectQuery<T>, эквивалентный первоначальному экземпляру с примененным к нему предложением TOP. A new ObjectQuery<T> instance that is equivalent to the original instance with TOP applied.

Исключения

Свойство count имеет значение null. count is null.

Параметр count равен пустой строке. count is an empty string.

Примеры

Эти примеры основаны на модели AdventureWorks Sales.These examples are based on the AdventureWorks Sales Model.

В данном примере создается новый объект ObjectQuery<T>, содержащий первые два результата существующего запроса.This example creates a new ObjectQuery<T> that contains the first two results of the existing query.

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);
}
Using context As New AdventureWorksEntities()
    Dim queryString As String = "SELECT VALUE product FROM AdventureWorksEntities.Products AS product"

    Dim productQuery1 As New ObjectQuery(Of Product)(queryString, context, MergeOption.NoTracking)

    Dim productQuery2 As ObjectQuery(Of Product) = productQuery1.Top("2")

    ' Iterate through the collection of Product items. 
    For Each result As Product In productQuery2
        Console.WriteLine("{0}", result.Name)
    Next
End Using

В этом примере возвращается пять Product объекты после пропускания первых трех в результатах запроса, отсортированных по Product.ListPrice.This example gets five Product objects after skipping the first three in the query result, sorted by Product.ListPrice. Top используется вместо ограничение для разбиения на страницы.Top is used instead of LIMIT for paging.

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);
}
Using context As New AdventureWorksEntities()
    ' Define the parameters used to define the "page" of returned data. 
    Dim skipValue As Integer = 3
    Dim limitValue As Integer = 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. 
    Dim query As ObjectQuery(Of Product) = _
        context.Products.Skip("it.ListPrice", "@skip", _
            New ObjectParameter("skip", skipValue)).Top("@limit", New ObjectParameter("limit", limitValue))

    ' Iterate through the page of Product items. 
    For Each result As Product In query
        Console.WriteLine("ID: {0}; Name: {1}", result.ProductID, result.Name)
    Next
End Using

Комментарии

Top является недетерминированным, если запрос не отсортирован.Top is nondeterministic unless the query is sorted.

При использовании Top метод после Skip метод, он работает, как ограничение оператор ORDER BY предложение.When you use the Top method after the Skip method, it functions like the LIMIT statement of an ORDER BY clause.

Применяется к