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

Definición

Limita los resultados de la consulta al número de elementos especificado.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 String String String

Número de elementos en los resultados, como un valor string.The number of items in the results as a string.

parameters
ObjectParameter[]

Conjunto opcional de parámetros de consulta que deberían estar en el ámbito durante el análisis.An optional set of query parameters that should be in scope when parsing.

Devoluciones

Nueva instancia de ObjectQuery<T> que es equivalente a la instancia original, pero aplicando TOP.A new ObjectQuery<T> instance that is equivalent to the original instance with TOP applied.

Excepciones

count es una cadena vacía.count is an empty string.

Ejemplos

Estos ejemplos se basan en el modelo AdventureWorks Sales.These examples are based on the AdventureWorks Sales Model.

En este ejemplo, se crea un nuevo objeto ObjectQuery<T> que contiene los dos primeros resultados de la 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 ejemplo obtiene cinco Product objetos después de omitir los tres primeros en el resultado de la consulta, Product.ListPriceordenados por.This example gets five Product objects after skipping the first three in the query result, sorted by Product.ListPrice. Topse utiliza en lugar del límite para la paginación.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

Comentarios

Top es no determinista a menos que la consulta esté ordenada.Top is nondeterministic unless the query is sorted.

Cuando se usa el Top método después del Skip método, funciona como la instrucción Limit de una 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.

Se aplica a

Consulte también: