Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les exemples de cette rubrique montrent comment utiliser les méthodes Skip et Take pour interroger le modèle de vente AdventureWorks Sales Model à l'aide de la syntaxe d'expression de requête. Le modèle de vente AdventureWorks Sales Model utilisé dans ces exemples est construit à partir des tables Contact, Address, Product, SalesOrderHeader et SalesOrderDetail de l'exemple de base de données AdventureWorks.
Les exemples de cette rubrique utilisent les instructions using/Imports suivantes :
Option Explicit On
Option Strict On
Imports L2EExamplesVB.AdventureWorksModel
Imports System.Data.Objects
Imports System.Globalization
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using AdventureWorksModel;
using System.Globalization;
Pour plus d'informations, voir Procédure : créer un projet LINQ to Entities dans Visual Studio.
Skip
Exemple
L'exemple suivant utilise la méthode Skip pour obtenir toutes les adresses de Seattle, à l'exception des deux premières.
Using AWEntities As New AdventureWorksEntities
Dim orders As ObjectQuery(Of SalesOrderHeader) = AWEntities.SalesOrderHeader
Dim addresses As ObjectQuery(Of Address) = AWEntities.Address
'LINQ to Entities only supports Skip on ordered collections.
Dim query = ( _
From address In addresses _
From order In orders _
Where address.AddressID = order.Address.AddressID _
And address.City = "Seattle" _
Order By order.SalesOrderID _
Select New With _
{ _
.City = address.City, _
.OrderID = order.SalesOrderID, _
.OrderDate = order.OrderDate _
}).Skip(2)
Console.WriteLine("All but first 2 orders in Seattle:")
For Each order In query
Console.WriteLine("City: {0} Order ID: {1} Total Due: {2:d}", _
order.City, order.OrderID, order.OrderDate)
Next
End Using
using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
ObjectQuery<Address> addresses = AWEntities.Address;
ObjectQuery<SalesOrderHeader> orders = AWEntities.SalesOrderHeader;
//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
Exemple
L'exemple suivant utilise la méthode Take pour obtenir les trois premières adresses de Seattle.
Using AWEntities As New AdventureWorksEntities
Dim orders As ObjectQuery(Of SalesOrderHeader) = AWEntities.SalesOrderHeader
Dim addresses As ObjectQuery(Of Address) = AWEntities.Address
Dim query = ( _
From address In addresses _
From order In orders _
Where address.AddressID = order.Address.AddressID _
And address.City = "Seattle" _
Select New With _
{ _
.City = address.City, _
.OrderID = order.SalesOrderID, _
.OrderDate = order.OrderDate _
}).Take(3)
Console.WriteLine("First 3 orders in Seattle:")
For Each order In query
Console.WriteLine("City: {0} Order ID: {1} Total Due: {2:d}", _
order.City, order.OrderID, order.OrderDate)
Next
End Using
using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
ObjectQuery<Address> addresses = AWEntities.Address;
ObjectQuery<SalesOrderHeader> orders = AWEntities.SalesOrderHeader;
var query = (
from address in addresses
from order in orders
where address.AddressID == order.Address.AddressID
&& address.City == "Seattle"
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);
}
}
Voir aussi
Concepts
Exemples de syntaxe d'expression de requête (LINQ to Entities)