Export (0) Print
Expand All

Method-Based Query Syntax Examples: Partitioning

The examples in this topic demonstrate how to use the Skip, and Take methods to query the AdventureWorks Sales Model using query expression syntax. The AdventureWorks Sales Model used in these examples is built from the Contact, Address, Product, SalesOrderHeader, and SalesOrderDetail tables in the AdventureWorks sample database.

The examples in this topic use the following using/Imports statements:


using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using System.Globalization;
using System.Data.EntityClient;
using System.Data.SqlClient;
using System.Data.Common;
    

Skip

Example

The following example uses the Skip method to get all but the first five contacts of the Contact table.


using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// LINQ to Entities only supports Skip on ordered collections.
IOrderedQueryable<Product> products = context.Products
.OrderBy(p => p.ListPrice);

IQueryable<Product> allButFirst3Products = products.Skip(3);

Console.WriteLine("All but first 3 products:");
foreach (Product product in allButFirst3Products)
{
Console.WriteLine("Name: {0} \t ID: {1}",
product.Name,
product.ProductID);
}
}
    

Example

The following example uses the Skip method to get all but the first two addresses in Seattle.


using (AdventureWorksEntities context = new AdventureWorksEntities())
{
ObjectSet<Address> addresses = context.Addresses;
ObjectSet<SalesOrderHeader> orders = context.SalesOrderHeaders;

//LINQ to Entities only supports Skip on ordered collections.
var query = (
from address in addresses
from order in orders
where address.AddressID == order.Address.AddressID
&& address.City == "Seattle"
orderby order.SalesOrderID
select new
{
City = address.City,
OrderID = order.SalesOrderID,
OrderDate = order.OrderDate
}).Skip(2);

Console.WriteLine("All but first 2 orders in Seattle:");
foreach (var order in query)
{
Console.WriteLine("City: {0} Order ID: {1} Total Due: {2:d}",
order.City, order.OrderID, order.OrderDate);
}
    

Take

Example

The following example uses the Take method to get only the first five contacts from the Contact table.


using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<Contact> first5Contacts = context.Contacts.Take(5);

Console.WriteLine("First 5 contacts:");
foreach (Contact contact in first5Contacts)
{
Console.WriteLine("Title = {0} \t FirstName = {1} \t Lastname = {2}",
contact.Title,
contact.FirstName,
contact.LastName);
}
}
    

Example

The following example uses the Take method to get the first three addresses in Seattle.


String city = "Seattle";
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
ObjectSet<Address> addresses = context.Addresses;
ObjectSet<SalesOrderHeader> orders = context.SalesOrderHeaders;

var query = (
from address in addresses
from order in orders
where address.AddressID == order.Address.AddressID
&& address.City == city
select new
{
City = address.City,
OrderID = order.SalesOrderID,
OrderDate = order.OrderDate
}).Take(3);
Console.WriteLine("First 3 orders in Seattle:");
foreach (var order in query)
{
Console.WriteLine("City: {0} Order ID: {1} Total Due: {2:d}",
order.City, order.OrderID, order.OrderDate);
}
}
    

See Also




Build Date:

2012-10-01
Show:
© 2014 Microsoft