Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà DataServiceCollection<T>.Continuation

 

Data di pubblicazione: ottobre 2016

Ottiene un oggetto di continuazione utilizzato per restituire il set successivo di risultati di paging.

Spazio dei nomi:   System.Data.Services.Client
Assembly:  System.Data.Services.Client (in System.Data.Services.Client.dll)

public DataServiceQueryContinuation<T> Continuation { get; set; }

Valore proprietà

Type: System.Data.Services.Client.DataServiceQueryContinuation<T>

Oggetto DataServiceQueryContinuation<T> che contiene l'URI per restituire il set successivo di risultati di paging.

La proprietà Continuation restituisce un collegamento utilizzato per accedere al set successivo di risultati di paging se quest'ultimo è abilitato nel servizio dati. Per altre informazioni, vedere Configurazione del servizio dati (WCF Data Services).

Quando si carica un risultato di paging in un oggetto DataServiceCollection<T>, è necessario caricare pagine in modo esplicito chiamando il metodo Load(IEnumerable<T>) sull'oggetto DataServiceCollection<T> passando il risultato dell'esecuzione dell'URI ottenuto dalla proprietà Continuation.

L'esempio seguente è tratto dalla pagina code-behind per una pagina XAML (Extensible Application Markup Language) che definisce la finestra SalesOrders in WPF. Quando la finestra viene caricata, viene creato un oggetto DataServiceCollection<T> in base al risultato di una query che restituisce i clienti filtrati per paese. Tutte le pagine di questo risultato di paging vengono caricate insieme agli ordini correlati e vengono associate alla proprietà DataContext dell'oggetto StackPanel che rappresenta il controllo di layout radice per la finestra WPF. Per altre informazioni, vedere Procedura: associare dati a elementi Windows Presentation Foundation (WCF Data Services).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.Services.Client;
using NorthwindClient.Northwind;

namespace NorthwindClient
{
    public partial class CustomerOrdersWpf3 : Window
    {
        private NorthwindEntities context;
        private DataServiceCollection<Customer> trackedCustomers;
        private const string customerCountry = "Germany";
        private const string svcUri = "http://localhost:12345/Northwind.svc/";

        public CustomerOrdersWpf3()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                // Initialize the context for the data service.
                context = new NorthwindEntities(new Uri(svcUri));

                // Create a LINQ query that returns customers with related orders.
                var customerQuery = from cust in context.Customers
                                    where cust.Country == customerCountry
                                    select cust;

                // Create a new collection for binding based on the LINQ query.
                trackedCustomers = new DataServiceCollection<Customer>(customerQuery);

                // Load all pages of the response at once.
                while (trackedCustomers.Continuation != null)
                {
                    trackedCustomers.Load(
                        context.Execute<Customer>(trackedCustomers.Continuation.NextLinkUri));
                }

                // Bind the root StackPanel element to the collection;
                // related object binding paths are defined in the XAML.
                LayoutRoot.DataContext = trackedCustomers;
            }
            catch (DataServiceQueryException ex)
            {
                MessageBox.Show("The query could not be completed:\n" + ex.ToString());
            }
            catch (InvalidOperationException ex)
            {
                MessageBox.Show("The following error occurred:\n" + ex.ToString());
            }
        }

        private void customerIDComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Customer selectedCustomer = 
                this.customerIDComboBox.SelectedItem as Customer;

            try
            {
                // Load the first page of related orders for the selected customer.
                context.LoadProperty(selectedCustomer, "Orders");

                // Load all remaining pages.
                while (selectedCustomer.Orders.Continuation != null)
                {
                    selectedCustomer.Orders.Load(
                        context.Execute<Order>(selectedCustomer.Orders.Continuation.NextLinkUri));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void saveChangesButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // Save changes to the data service.
                context.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
    }
}

.NET Framework
Disponibile da 3.5
Silverlight
Disponibile da 4.0
Torna all'inizio
Mostra: