ObjectQuery<T>.Top(String, ObjectParameter[]) Метод

Определение

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

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

Количество элементов в результирующем наборе в виде строки.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>

Новый экземпляр запроса 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.

Примеры

Эти примеры основаны на Microsoft SQL Server примеров продуктов: база данных.These examples are based on the Microsoft SQL Server Product Samples: Database.

В данном примере создается новый объект 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 метода он работает так же, как оператор Limit в предложении ORDER BY .When you use the Top method after the Skip method, it functions like the LIMIT statement of an ORDER BY clause.

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