Condividi tramite


DataServiceContext Classe

Definizione

DataServiceContext rappresenta il contesto di runtime del servizio dati.

public ref class DataServiceContext
public class DataServiceContext
type DataServiceContext = class
Public Class DataServiceContext
Ereditarietà
DataServiceContext

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'oggetto DataServiceContext generato dallo strumento Aggiungi riferimento al servizio per eseguire in modo implicito una query sul servizio dati Northwind che restituisce tutti i clienti. L'URI del set di entità Customers richiesto viene determinato automaticamente dal contesto. La query viene eseguita in modo implicito quando si verifica l'enumerazione. Il servizio dati Northwind viene creato al termine dell'WCF Data Services .

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

// Define a new query for Customers.
DataServiceQuery<Customer> query = context.Customers;

try
{
    // Enumerate over the query result, which is executed implicitly.
    foreach (Customer customer in query)
    {
        Console.WriteLine("Customer Name: {0}", customer.CompanyName);
    }
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)

' Define a new query for Customers.
Dim query As DataServiceQuery(Of Customer) = context.Customers

Try
    ' Enumerate over the query result, which is executed implicitly.
    For Each customer As Customer In query
        Console.WriteLine("Customer Name: {0}", customer.CompanyName)
    Next
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try

Commenti

WCF Data Services sono senza stato, ma DataServiceContext non è. Lo stato nel client viene mantenuto tra le interazioni per supportare funzionalità quali la gestione degli aggiornamenti. Questa classe e la classe DataServiceQuery che rappresenta una particolare richiesta HTTP a un servizio dati sono le due classi principali nella libreria client.

Costruttori

DataServiceContext(Uri)

Inizializza una nuova istanza della classe DataServiceContext con l'oggetto serviceRoot specificato.

Proprietà

ApplyingChanges

Ottiene un valore che indica se DataServiceContext è in fase di applicazione di modifiche agli oggetti rilevati.

BaseUri

Ottiene l'URI assoluto che identifica la radice del servizio dati di destinazione.

Credentials

Ottiene o imposta le informazioni di autenticazione utilizzate da ogni query creata tramite l'oggetto DataServiceContext.

DataNamespace

Ottiene o imposta lo spazio dei nomi XML per elementi di dati (non elementi di metadati) di un payload Atom.

Entities

Ottiene un elenco di tutte le risorse attualmente rilevate da DataServiceContext.

IgnoreMissingProperties

Ottiene o imposta un valore che indica se è necessario eseguire il mapping delle proprietà lette dal tipo alle proprietà nel tipo lato client.

IgnoreResourceNotFoundException

Ottiene o imposta un valore che indica se viene generata un'eccezione in caso di restituzione di un errore 404 (risorsa non trovata) da parte del servizio dati.

Links

Ottiene la raccolta di tutte le associazioni o di tutti i collegamenti attualmente rilevati tramite l'oggetto DataServiceContext.

MergeOption

Ottiene o imposta l'opzione di sincronizzazione per la ricezione di entità da un servizio dati.

ResolveName

Ottiene o imposta una funzione per eseguire l'override della strategia di risoluzione del tipo predefinita utilizzata dalla libreria client in caso di invio di entità a un servizio dati.

ResolveType

Ottiene o imposta una funzione utilizzata per eseguire l'override dell'opzione di risoluzione del tipo predefinita utilizzata dalla libreria client in caso di ricezione di entità da un servizio dati.

SaveChangesDefaultOptions

Ottiene o imposta i valori SaveChangesOptions utilizzati dal metodo SaveChanges().

Timeout

Ottiene o imposta l'opzione di timeout utilizzata per la richiesta HTTP sottostante al servizio dati.

TypeScheme

Ottiene o imposta l'URI utilizzato per indicare lo schema del tipo utilizzato dal servizio.

UsePostTunneling

Ottiene o imposta un valore booleano che indica se utilizzare il post tunneling.

Metodi

AddLink(Object, String, Object)

Aggiunge il collegamento specificato al set di oggetti rilevato da DataServiceContext.

AddObject(String, Object)

Aggiunge l'oggetto specificato al set di oggetti rilevato da DataServiceContext.

AddRelatedObject(Object, String, Object)

Aggiunge un oggetto correlato al contesto e crea il collegamento che definisce la relazione tra i due oggetti in una singola richiesta.

AttachLink(Object, String, Object)

Notifica a DataServiceContext di iniziare a rilevare il collegamento specificato che definisce una relazione tra oggetti entità.

AttachTo(String, Object)

Notifica a DataServiceContext di iniziare a rilevare la risorsa specificata e fornisce il percorso della risorsa all'interno del set di risorse specificato.

AttachTo(String, Object, String)

Notifica a DataServiceContext di iniziare a rilevare la risorsa specificata e fornisce il percorso della risorsa nel set di risorse specificato.

BeginExecute<T>(DataServiceQueryContinuation<T>, AsyncCallback, Object)

Invia in modo asincrono una richiesta al servizio dati per recuperare la pagina di dati successiva in un risultato di query di cui è stato eseguito il paging.

BeginExecute<TElement>(Uri, AsyncCallback, Object)

Invia in modo asincrono la richiesta in modo che questa chiamata non blocchi l'elaborazione mentre è in attesa dei risultati dal servizio.

BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[])

Invia in modo asincrono un gruppo di query come batch al servizio dati.

BeginGetReadStream(Object, DataServiceRequestArgs, AsyncCallback, Object)

Ottiene in modo asincrono i dati della proprietà binaria per l'entità specificata come flusso di dati insieme alle intestazioni di messaggio specificate.

BeginLoadProperty(Object, String, AsyncCallback, Object)

Carica in modo asincrono il valore della proprietà specificata dal servizio dati.

BeginLoadProperty(Object, String, DataServiceQueryContinuation, AsyncCallback, Object)

Carica in modo asincrono la pagina successiva di entità correlate dal servizio dati tramite l'oggetto di continuazione di query fornito.

BeginLoadProperty(Object, String, Uri, AsyncCallback, Object)

Carica in modo asincrono una pagina di entità correlate dal servizio dati tramite l'URI del collegamento successivo fornito.

BeginSaveChanges(AsyncCallback, Object)

Invia in modo asincrono al servizio dati le modifiche in sospeso raccolte da DataServiceContext dall'ultimo salvataggio delle modifiche.

BeginSaveChanges(SaveChangesOptions, AsyncCallback, Object)

Invia in modo asincrono al servizio dati le modifiche in sospeso raccolte da DataServiceContext dall'ultimo salvataggio delle modifiche.

CancelRequest(IAsyncResult)

Tenta di annullare l'operazione associata all'oggetto IAsyncResult fornito.

CreateQuery<T>(String)

Crea una query del servizio dati per i dati di un tipo generico specificato.

DeleteLink(Object, String, Object)

Modifica lo stato del collegamento in eliminato nell'elenco di collegamenti rilevati da DataServiceContext.

DeleteObject(Object)

Modifica lo stato dell'oggetto specificato da eliminare in DataServiceContext.

Detach(Object)

Rimuove l'entità dall'elenco di entità rilevato da DataServiceContext.

DetachLink(Object, String, Object)

Rimuove il collegamento specificato dall'elenco dei collegamenti rilevati da DataServiceContext.

EndExecute<TElement>(IAsyncResult)

Chiamato per completare il metodo BeginExecute<TElement>(Uri, AsyncCallback, Object).

EndExecuteBatch(IAsyncResult)

Chiamato per completare il metodo BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[]).

EndGetReadStream(IAsyncResult)

Chiamato per completare l'operazione asincrona di recupero di una proprietà binaria come un flusso.

EndLoadProperty(IAsyncResult)

Chiamato per completare l'operazione BeginLoadProperty(Object, String, AsyncCallback, Object).

EndSaveChanges(IAsyncResult)

Chiamato per completare l'operazione BeginSaveChanges(AsyncCallback, Object).

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Execute<T>(DataServiceQueryContinuation<T>)

Invia una richiesta al servizio dati per recuperare la pagina di dati successiva in un risultato di query di cui è stato eseguito il paging.

Execute<TElement>(Uri)

Invia una richiesta al servizio dati per eseguire un URI specifico.

ExecuteBatch(DataServiceRequest[])

Invia un gruppo di query come batch al servizio dati.

GetEntityDescriptor(Object)

Ottiene EntityDescriptor per l'oggetto entità fornito.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLinkDescriptor(Object, String, Object)

Ottiene l'oggetto LinkDescriptor per un collegamento specifico che definisce la relazione tra due entità.

GetMetadataUri()

Ottiene un URI del percorso dei metadati con estensione edmx.

GetReadStream(Object)

Ottiene i dati della proprietà binaria per l'entità specificata come flusso di dati.

GetReadStream(Object, DataServiceRequestArgs)

Ottiene i dati della proprietà binaria per l'entità specificata come flusso di dati insieme alle intestazioni di messaggio specificate.

GetReadStream(Object, String)

Ottiene i dati della proprietà binaria per l'entità specificata come flusso di dati, con l'intestazione del messaggio Accept specificato.

GetReadStreamUri(Object)

Ottiene l'URI utilizzato per restituire dati della proprietà binaria come flusso di dati.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadProperty(Object, String)

Carica il contenuto posticipato per una proprietà specificata dal servizio dati.

LoadProperty(Object, String, DataServiceQueryContinuation)

Carica la pagina successiva di entità correlate dal servizio dati tramite l'oggetto di continuazione di query fornito.

LoadProperty(Object, String, Uri)

Carica una pagina di entità correlate tramite l'URI del collegamento successivo fornito.

LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)

Carica la pagina successiva di entità correlate dal servizio dati tramite l'oggetto generico di continuazione di query fornito.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SaveChanges()

Salva le modifiche rilevate da DataServiceContext per l'archiviazione.

SaveChanges(SaveChangesOptions)

Salva le modifiche rilevate da DataServiceContext per l'archiviazione.

SetLink(Object, String, Object)

Notifica a DataServiceContext l'esistenza di un nuovo collegamento tra gli oggetti specificati e la rappresentazione del collegamento da parte della proprietà specificata dal parametro sourceProperty.

SetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs)

Imposta un nuovo flusso di dati come proprietà binaria di un'entità, con le impostazioni specificate nel messaggio di richiesta.

SetSaveStream(Object, Stream, Boolean, String, String)

Imposta un nuovo flusso di dati come proprietà binaria di un'entità. Le intestazioni Content-Type e Slug specificate sono incluse nel messaggio di richiesta.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryGetEntity<TEntity>(Uri, TEntity)

Recupero di prova di un'entità rilevata da DataServiceContext per riferimento all'URI dell'entità.

TryGetUri(Object, Uri)

Recupera l'URI canonico associato all'entità specificata, se disponibile.

UpdateObject(Object)

Modifica in DataServiceContext lo stato dell'oggetto specificato in Modified.

Eventi

ReadingEntity

Si verifica dopo che i dati dell'entità sono stati completamente letti nell'oggetto entità.

SendingRequest

Si verifica in caso di creazione di un nuovo oggetto HttpWebRequest.

WritingEntity

Si verifica dopo che un'entità è stata completamente serializzata in XML in un messaggio di richiesta.

Si applica a

Vedi anche