ObjectQuery<T>.Top(String, ObjectParameter[]) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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)
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.
Returns
A new ObjectQuery<T> instance that is equivalent to the original instance with TOP applied.
Exceptions
count
is null
.
count
is an empty string.
Examples
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);
}
This example gets five Product
objects after skipping the first three in the query result, sorted by Product.ListPrice
. 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);
}
Remarks
Top is nondeterministic unless the query is sorted.
When you use the Top method after the Skip method, it functions like the LIMIT statement of an ORDER BY clause.