Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De voorbeelden in dit onderwerp laten zien hoe u de methoden Skip en Take gebruikt om een query uit te voeren op het AdventureWorks Sales Model met behulp van de syntaxis van queryexpressies. Het AdventureWorks Sales Model dat in deze voorbeelden wordt gebruikt, is gebaseerd op de tabellen Contact, Adres, Product, SalesOrderHeader en SalesOrderDetail in de voorbeelddatabase AdventureWorks.
In de voorbeelden in dit onderwerp worden de volgende using/Imports verklaringen gebruikt:
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;
Option Explicit On
Option Strict On
Imports System.Data.Objects
Imports System.Globalization
Overslaan
Voorbeeld
In het volgende voorbeeld wordt de methode Skip gebruikt om alle behalve de eerste twee adressen in Seattle op te halen.
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: {order.City} Order ID: {order.OrderID} Total Due: {order.OrderDate:d}");
}
Using context As New AdventureWorksEntities
Dim orders As ObjectSet(Of SalesOrderHeader) = context.SalesOrderHeaders
Dim addresses As ObjectSet(Of Address) = context.Addresses
'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
Nemen
Voorbeeld
In het volgende voorbeeld wordt de methode Take gebruikt om de eerste drie adressen op te halen 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: {order.City} Order ID: {order.OrderID} Total Due: {order.OrderDate:d}");
}
}
Dim city = "Seattle"
Using context As New AdventureWorksEntities
Dim orders As ObjectSet(Of SalesOrderHeader) = context.SalesOrderHeaders
Dim addresses As ObjectSet(Of Address) = context.Addresses
Dim query = ( _
From address In addresses _
From order In orders _
Where address.AddressID = order.Address.AddressID _
And address.City = city _
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