ObjectQuery<T>.Top(String, ObjectParameter[]) Método

Definição

Limita os resultados da consulta a um número especificado de itens.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)

Parâmetros

count
String

O número de itens nos resultados como uma cadeia de caracteres.The number of items in the results as a string.

parameters
ObjectParameter[]

Um conjunto opcional de parâmetros de consulta que devem estar no escopo durante a análise.An optional set of query parameters that should be in scope when parsing.

Retornos

Uma nova instância ObjectQuery<T> que é equivalente à instância original com TOP aplicado.A new ObjectQuery<T> instance that is equivalent to the original instance with TOP applied.

Exceções

count é null.count is null.

count é uma cadeia de caracteres vazia.count is an empty string.

Exemplos

Esses exemplos são baseados no Microsoft SQL Server exemplos de produtos: banco de dados.These examples are based on the Microsoft SQL Server Product Samples: Database.

Este exemplo cria um novo ObjectQuery<T> que contém os dois primeiros resultados da consulta existente.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

Este exemplo obtém cinco objetos Product depois de ignorar os três primeiros no resultado da consulta, classificados por Product.ListPrice.This example gets five Product objects after skipping the first three in the query result, sorted by Product.ListPrice. Top é usado em vez do limite de paginação.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

Comentários

Top não é determinística, a menos que a consulta seja classificada.Top is nondeterministic unless the query is sorted.

Quando você usa o método Top após o método Skip, ele funciona como a instrução Limit de uma cláusula order by .When you use the Top method after the Skip method, it functions like the LIMIT statement of an ORDER BY clause.

Aplica-se a

Veja também