Clase DataServiceQueryContinuation<T>
Encapsula un URI que devuelve la página siguiente de un resultado de consulta de Servicios de datos de Microsoft WCF paginado.
Jerarquía de herencia
System.Object
System.Data.Services.Client.DataServiceQueryContinuation
System.Data.Services.Client.DataServiceQueryContinuation<T>
Espacio de nombres: System.Data.Services.Client
Ensamblado: Microsoft.Data.Services.Client (en Microsoft.Data.Services.Client.dll)
Sintaxis
'Declaración
Public NotInheritable Class DataServiceQueryContinuation(Of T) _
Inherits DataServiceQueryContinuation
'Uso
Dim instance As DataServiceQueryContinuation(Of T)
public sealed class DataServiceQueryContinuation<T> : DataServiceQueryContinuation
generic<typename T>
public ref class DataServiceQueryContinuation sealed : public DataServiceQueryContinuation
[<SealedAttribute>]
type DataServiceQueryContinuation<'T> =
class
inherit DataServiceQueryContinuation
end
JScript no admite tipos y métodos genéricos.
Parámetros de tipo
- T
El tipo de token de continuación.
El tipo DataServiceQueryContinuation<T> expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
NextLinkUri | Obtiene el URI que se utiliza para devolver la página siguiente de datos de un resultado de consulta paginado. (Se hereda de DataServiceQueryContinuation.) |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | (Se hereda de Object.) | |
Finalize | (Se hereda de Object.) | |
GetHashCode | (Se hereda de Object.) | |
GetType | (Se hereda de Object.) | |
MemberwiseClone | (Se hereda de Object.) | |
ToString | Devuelve el siguiente vínculo URI como una cadena. (Se hereda de DataServiceQueryContinuation.) |
Arriba
Ejemplos
En este ejemplo se usa un bucle do…while para cargar entidades Customers desde los resultados paginados del servicio de datos.
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)
Dim token As DataServiceQueryContinuation(Of Customer) = Nothing
Dim pageCount = 0
Try
' Execute the query for all customers and get the response object.
Dim response As QueryOperationResponse(Of Customer) = _
CType(context.Customers.Execute(), QueryOperationResponse(Of Customer))
' With a paged response from the service, use a do...while loop
' to enumerate the results before getting the next link.
Do
' Write the page number.
Console.WriteLine("Page {0}:", pageCount + 1)
' If nextLink is not null, then there is a new page to load.
If token IsNot Nothing Then
' Load the new page from the next link URI.
response = CType(context.Execute(Of Customer)(token), _
QueryOperationResponse(Of Customer))
End If
' Enumerate the customers in the response.
For Each customer As Customer In response
Console.WriteLine(vbTab & "Customer Name: {0}", customer.CompanyName)
Next
' Get the next link, and continue while there is a next link.
token = response.GetContinuation()
Loop While token IsNot Nothing
Catch ex As DataServiceQueryException
Throw New ApplicationException( _
"An error occurred during query execution.", ex)
End Try
// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);
DataServiceQueryContinuation<Customer> token = null;
int pageCount = 0;
try
{
// Execute the query for all customers and get the response object.
QueryOperationResponse<Customer> response =
context.Customers.Execute() as QueryOperationResponse<Customer>;
// With a paged response from the service, use a do...while loop
// to enumerate the results before getting the next link.
do
{
// Write the page number.
Console.WriteLine("Page {0}:", pageCount++);
// If nextLink is not null, then there is a new page to load.
if (token != null)
{
// Load the new page from the next link URI.
response = context.Execute<Customer>(token)
as QueryOperationResponse<Customer>;
}
// Enumerate the customers in the response.
foreach (Customer customer in response)
{
Console.WriteLine("\tCustomer Name: {0}", customer.CompanyName);
}
}
// Get the next link, and continue while there is a next link.
while ((token = response.GetContinuation()) != null);
}
catch (DataServiceQueryException ex)
{
throw new ApplicationException(
"An error occurred during query execution.", ex);
}
Seguridad para subprocesos
Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Vea también
Referencia
Espacio de nombres System.Data.Services.Client