Edit

Share via


DataServiceContext Class

Definition

The DataServiceContext represents the runtime context of the data service.

public ref class DataServiceContext
public class DataServiceContext
type DataServiceContext = class
Public Class DataServiceContext
Inheritance
DataServiceContext

Examples

The following example shows how to use the DataServiceContext generated by the Add Service Reference tool to implicitly execute a query against the Northwind data service that returns all customers. The URI of the requested Customers entity set is determined automatically by the context. The query is executed implicitly when the enumeration occurs. The Northwind data service is created when you complete the 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

Remarks

WCF Data Services are stateless, but the DataServiceContext is not. State on the client is maintained between interactions in order to support features such as update management. This class, and the DataServiceQuery class that represents a particular HTTP request to a data service, are the two main classes in the client library.

Constructors

DataServiceContext(Uri)

Initializes a new instance of the DataServiceContext class with the specified serviceRoot.

Properties

ApplyingChanges

Gets a value that indicates whether the DataServiceContext is currently applying changes to tracked objects.

BaseUri

Gets the absolute URI identifying the root of the target data service.

Credentials

Gets or sets the authentication information that is used by each query created by using the DataServiceContext object.

DataNamespace

Gets or sets the XML namespace for data items, not metadata items, of an Atom payload.

Entities

Gets a list of all the resources currently being tracked by the DataServiceContext.

IgnoreMissingProperties

Gets or sets whether the properties read from the type must be mapped to properties on the client-side type.

IgnoreResourceNotFoundException

Gets or sets whether an exception is raised when a 404 error (resource not found) is returned by the data service.

Links

Gets the collection of all associations or links currently being tracked by the DataServiceContext object.

MergeOption

Gets or sets the synchronization option for receiving entities from a data service.

ResolveName

Gets or sets a function to override the default type resolution strategy used by the client library when you send entities to a data service.

ResolveType

Gets or sets a function that is used to override the default type resolution option that is used by the client library when receiving entities from a data service.

SaveChangesDefaultOptions

Gets or sets the SaveChangesOptions values that are used by the SaveChanges() method.

Timeout

Gets or sets the time-out option that is used for the underlying HTTP request to the data service.

TypeScheme

Gets or sets the URI used to indicate what type scheme is used by the service.

UsePostTunneling

Gets or sets a Boolean value that indicates whether to use post tunneling.

Methods

AddLink(Object, String, Object)

Adds the specified link to the set of objects the DataServiceContext is tracking.

AddObject(String, Object)

Adds the specified object to the set of objects that the DataServiceContext is tracking.

AddRelatedObject(Object, String, Object)

Adds a related object to the context and creates the link that defines the relationship between the two objects in a single request.

AttachLink(Object, String, Object)

Notifies the DataServiceContext to start tracking the specified link that defines a relationship between entity objects.

AttachTo(String, Object)

Notifies the DataServiceContext to start tracking the specified resource and supplies the location of the resource within the specified resource set.

AttachTo(String, Object, String)

Notifies the DataServiceContext to start tracking the specified resource and supplies the location of the resource in the specified resource set.

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

Asynchronously sends a request to the data service to retrieve the next page of data in a paged query result.

BeginExecute<TElement>(Uri, AsyncCallback, Object)

Asynchronously sends the request so that this call does not block processing while waiting for the results from the service.

BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[])

Asynchronously submits a group of queries as a batch to the data service.

BeginGetReadStream(Object, DataServiceRequestArgs, AsyncCallback, Object)

Asynchronously gets binary property data for the specified entity as a data stream along with the specified message headers.

BeginLoadProperty(Object, String, AsyncCallback, Object)

Asynchronously loads the value of the specified property from the data service.

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

Asynchronously loads the next page of related entities from the data service by using the supplied query continuation object.

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

Asynchronously loads a page of related entities from the data service by using the supplied next link URI.

BeginSaveChanges(AsyncCallback, Object)

Asynchronously submits the pending changes to the data service collected by the DataServiceContext since the last time changes were saved.

BeginSaveChanges(SaveChangesOptions, AsyncCallback, Object)

Asynchronously submits the pending changes to the data service collected by the DataServiceContext since the last time changes were saved.

CancelRequest(IAsyncResult)

Attempts to cancel the operation that is associated with the supplied IAsyncResult object.

CreateQuery<T>(String)

Creates a data service query for data of a specified generic type.

DeleteLink(Object, String, Object)

Changes the state of the link to deleted in the list of links being tracked by the DataServiceContext.

DeleteObject(Object)

Changes the state of the specified object to be deleted in the DataServiceContext.

Detach(Object)

Removes the entity from the list of entities that the DataServiceContext is tracking.

DetachLink(Object, String, Object)

Removes the specified link from the list of links being tracked by the DataServiceContext.

EndExecute<TElement>(IAsyncResult)

Called to complete the BeginExecute<TElement>(Uri, AsyncCallback, Object).

EndExecuteBatch(IAsyncResult)

Called to complete the BeginExecuteBatch(AsyncCallback, Object, DataServiceRequest[]).

EndGetReadStream(IAsyncResult)

Called to complete the asynchronous operation of retrieving a binary property as a stream.

EndLoadProperty(IAsyncResult)

Called to complete the BeginLoadProperty(Object, String, AsyncCallback, Object) operation.

EndSaveChanges(IAsyncResult)

Called to complete the BeginSaveChanges(AsyncCallback, Object) operation.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
Execute<T>(DataServiceQueryContinuation<T>)

Sends a request to the data service to retrieve the next page of data in a paged query result.

Execute<TElement>(Uri)

Sends a request to the data service to execute a specific URI.

ExecuteBatch(DataServiceRequest[])

Submits a group of queries as a batch to the data service.

GetEntityDescriptor(Object)

Gets the EntityDescriptor for the supplied entity object.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLinkDescriptor(Object, String, Object)

Gets the LinkDescriptor for a specific link that defines the relationship between two entities.

GetMetadataUri()

Gets a URI of the location of .edmx metadata.

GetReadStream(Object)

Gets binary property data for the specified entity as a data stream.

GetReadStream(Object, DataServiceRequestArgs)

Gets binary property data for the specified entity as a data stream along with the specified message headers.

GetReadStream(Object, String)

Gets binary property data for the specified entity as a data stream, with the specified Accept message header.

GetReadStreamUri(Object)

Gets the URI that is used to return binary property data as a data stream.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
LoadProperty(Object, String)

Loads deferred content for a specified property from the data service.

LoadProperty(Object, String, DataServiceQueryContinuation)

Loads the next page of related entities from the data service by using the supplied query continuation object.

LoadProperty(Object, String, Uri)

Loads a page of related entities by using the supplied next link URI.

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

Loads the next page of related entities from the data service by using the supplied generic query continuation object.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
SaveChanges()

Saves the changes that the DataServiceContext is tracking to storage.

SaveChanges(SaveChangesOptions)

Saves the changes that the DataServiceContext is tracking to storage.

SetLink(Object, String, Object)

Notifies the DataServiceContext that a new link exists between the objects specified and that the link is represented by the property specified by the sourceProperty parameter.

SetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs)

Sets a new data stream as the binary property of an entity, with the specified settings in the request message.

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

Sets a new data stream as the binary property of an entity. The specified Content-Type and Slug headers are included in the request message.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
TryGetEntity<TEntity>(Uri, TEntity)

Test retrieval of an entity being tracked by the DataServiceContext by reference to the URI of the entity.

TryGetUri(Object, Uri)

Retrieves the canonical URI associated with the specified entity, if available.

UpdateObject(Object)

Changes the state of the specified object in the DataServiceContext to Modified.

Events

ReadingEntity

Occurs after entity data has been completely read into the entity object.

SendingRequest

Occurs when a new HttpWebRequest has been created.

WritingEntity

Occurs after an entity has been fully serialized into XML in a request message.

Applies to

See also