ObjectQuery<T>.Top Method
Limits the query results to a specified number of items.
Namespace: System.Data.Objects
Assembly: System.Data.Entity (in System.Data.Entity.dll)
Parameters
- count
- Type: System.String
The number of items in the results as a string.
- parameters
- Type: System.Data.Objects.ObjectParameter[]
An optional set of query parameters that should be in scope when parsing.
Return Value
Type: System.Data.Objects.ObjectQuery<T>A new ObjectQuery<T> instance that is equivalent to the original instance with TOP applied.
| Exception | Condition |
|---|---|
| ArgumentNullException | count is null. |
| ArgumentException | count is an empty string. |
These examples are based on the Adventure Works Sales Model.
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); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.