SALES: 1-800-867-1380
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

DataServiceContext Class

The DataServiceContext represents the runtime context of the data service.

System.Object
  System.Data.Services.Client.DataServiceContext

Namespace:  System.Data.Services.Client
Assembly:  System.Data.Services.Client (in System.Data.Services.Client.dll)

public class DataServiceContext

The DataServiceContext type exposes the following members.

  NameDescription
Public methodDataServiceContextInitializes a new instance of the DataServiceContext class with the specified serviceRoot.
Top

  NameDescription
Public propertyApplyingChangesGets a value that indicates whether the DataServiceContext is currently applying changes to tracked objects.
Public propertyBaseUriGets the absolute URI identifying the root of the target data service.
Public propertyCredentialsGets or sets the authentication information that is used by each query created by using the DataServiceContext object.
Public propertyDataNamespaceGets or sets the XML namespace for data items, not metadata items, of an Atom payload.
Public propertyEntitiesGets a list of all the resources currently being tracked by the DataServiceContext.
Public propertyIgnoreMissingPropertiesGets or sets whether the properties read from the type must be mapped to properties on the client-side type.
Public propertyIgnoreResourceNotFoundExceptionGets or sets whether an exception is raised when a 404 error (resource not found) is returned by the data service.
Public propertyLinksGets the collection of all associations or links currently being tracked by the DataServiceContext object.
Public propertyMergeOptionGets or sets the synchronization option for receiving entities from a data service.
Public propertyResolveNameGets or sets a function to override the default type resolution strategy used by the client library when you send entities to a data service.
Public propertyResolveTypeGets 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.
Public propertySaveChangesDefaultOptionsGets or sets the SaveChangesOptions values that are used by the SaveChanges method.
Public propertyTimeoutGets or sets the time-out option that is used for the underlying HTTP request to the data service.
Public propertyTypeSchemeGets or sets the URI used to indicate what type scheme is used by the service.
Public propertyUsePostTunnelingGets or sets a Boolean value that indicates whether to use post tunneling.
Top

  NameDescription
Public methodAddLinkAdds the specified link to the set of objects the DataServiceContext is tracking.
Public methodAddObjectAdds the specified object to the set of objects that the DataServiceContext is tracking.
Public methodAddRelatedObjectAdds a related object to the context and creates the link that defines the relationship between the two objects in a single request.
Public methodAttachLinkNotifies the DataServiceContext to start tracking the specified link that defines a relationship between entity objects.
Public methodAttachTo(String, Object)Notifies the DataServiceContext to start tracking the specified resource and supplies the location of the resource within the specified resource set.
Public methodAttachTo(String, Object, String)Notifies the DataServiceContext to start tracking the specified resource and supplies the location of the resource in the specified resource set.
Public methodBeginExecute<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.
Public methodBeginExecute<TElement>(Uri, AsyncCallback, Object)Asynchronously sends the request so that this call does not block processing while waiting for the results from the service.
Public methodBeginExecuteBatchAsynchronously submits a group of queries as a batch to the data service.
Public methodBeginGetReadStreamAsynchronously gets binary property data for the specified entity as a data stream along with the specified message headers.
Public methodBeginLoadProperty(Object, String, AsyncCallback, Object)Asynchronously loads the value of the specified property from the data service.
Public methodBeginLoadProperty(Object, String, DataServiceQueryContinuation, AsyncCallback, Object)Asynchronously loads the next page of related entities from the data service by using the supplied query continuation object.
Public methodBeginLoadProperty(Object, String, Uri, AsyncCallback, Object)Asynchronously loads a page of related entities from the data service by using the supplied next link URI.
Public methodBeginSaveChanges(AsyncCallback, Object)Asynchronously submits the pending changes to the data service collected by the DataServiceContext since the last time changes were saved.
Public methodBeginSaveChanges(SaveChangesOptions, AsyncCallback, Object)Asynchronously submits the pending changes to the data service collected by the DataServiceContext since the last time changes were saved.
Public methodCancelRequestAttempts to cancel the operation that is associated with the supplied IAsyncResult object.
Public methodCreateQuery<T>Creates a data service query for data of a specified generic type.
Public methodDeleteLinkChanges the state of the link to deleted in the list of links being tracked by the DataServiceContext.
Public methodDeleteObjectChanges the state of the specified object to be deleted in the DataServiceContext.
Public methodDetachRemoves the entity from the list of entities that the DataServiceContext is tracking.
Public methodDetachLinkRemoves the specified link from the list of links being tracked by the DataServiceContext.
Public methodEndExecute<TElement>Called to complete the BeginExecute.
Public methodEndExecuteBatchCalled to complete the BeginExecuteBatch.
Public methodEndGetReadStreamCalled to complete the asynchronous operation of retrieving a binary property as a stream.
Public methodEndLoadPropertyCalled to complete the BeginLoadProperty operation.
Public methodEndSaveChangesCalled to complete the BeginSaveChanges operation.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodExecute<T>(DataServiceQueryContinuation<T>)Sends a request to the data service to retrieve the next page of data in a paged query result.
Public methodExecute<TElement>(Uri)Sends a request to the data service to execute a specific URI.
Public methodExecuteBatchSubmits a group of queries as a batch to the data service.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetEntityDescriptorGets the EntityDescriptor for the supplied entity object.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLinkDescriptorGets the LinkDescriptor for a specific link that defines the relationship between two entities.
Public methodGetMetadataUriGets a URI of the location of .edmx metadata.
Public methodGetReadStream(Object)Gets binary property data for the specified entity as a data stream.
Public methodGetReadStream(Object, DataServiceRequestArgs)Gets binary property data for the specified entity as a data stream along with the specified message headers.
Public methodGetReadStream(Object, String)Gets binary property data for the specified entity as a data stream, with the specified Accept message header.
Public methodGetReadStreamUriGets the URI that is used to return binary property data as a data stream.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodLoadProperty(Object, String)Loads deferred content for a specified property from the data service.
Public methodLoadProperty(Object, String, DataServiceQueryContinuation)Loads the next page of related entities from the data service by using the supplied query continuation object.
Public methodLoadProperty(Object, String, Uri)Loads a page of related entities by using the supplied next link URI.
Public methodLoadProperty<T>(Object, String, DataServiceQueryContinuation<T>)Loads the next page of related entities from the data service by using the supplied generic query continuation object.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSaveChanges()Saves the changes that the DataServiceContext is tracking to storage.
Public methodSaveChanges(SaveChangesOptions)Saves the changes that the DataServiceContext is tracking to storage.
Public methodSetLinkNotifies 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.
Public methodSetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs)Sets a new data stream as the binary property of an entity, with the specified settings in the request message.
Public methodSetSaveStream(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.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodTryGetEntity<TEntity>Test retrieval of an entity being tracked by the DataServiceContext by reference to the URI of the entity.
Public methodTryGetUriRetrieves the canonical URI associated with the specified entity, if available.
Public methodUpdateObjectChanges the state of the specified object in the DataServiceContext to Modified.
Top

  NameDescription
Public eventReadingEntityOccurs after entity data has been completely read into the entity object.
Public eventSendingRequestOccurs when a new HttpWebRequest has been created.
Public eventWritingEntityOccurs after an entity has been fully serialized into XML in a request message.
Top

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.

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 quickstart.

// 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);
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5 SP1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft