Any application can interact with an Open Data Protocol (OData)-based data service if it can send an HTTP request and process the OData feed that a data service returns. This interoperability enables you to access OData-based services from a broad range of Web-enabled applications. WCF Data Services includes client libraries that provide a richer programming experience when you consume OData feeds from .NET Framework or Silverlight-based applications.
The two main classes of the client library are the DataServiceContext class and the DataServiceQuery<TElement> class. The DataServiceContext class encapsulates operations that are supported against a specified data service. Although OData services are stateless, the context is not. Therefore, you can use the DataServiceContext class to maintain state on the client between interactions with the data service in order to support features such as change management. This class also manages identities and tracks changes. The DataServiceQuery<TElement> class represents a query against a specific entity set.
This section describes how to use client libraries to access and change data from a .NET Framework client application. For more information about how to use the WCF Data Services client library with a Silverlight-based application, see WCF Data Services (Silverlight). Other client libraries are available that enable you to consume an OData feed in other kinds of applications. For more information, see the OData SDK.
In This Section
Generating the Data Service Client Library
Describes how to generate a client library and client data service classes that are based on OData feeds.
Querying the Data Service
Describes how to query a data service from a .NET Framework-based application by using client libraries.
Loading Deferred Content
Describes how to load additional content not included in the initial query response.
Updating the Data Service
Describes how to create, modify, and delete entities and relationships by using the client libraries.
Describes the facilities provided by the client libraries for working with a data service in an asynchronous manner.
Describes how to send multiple requests to the data service in a single batch by using the client libraries.
Binding Data to Controls
Describes how to bind controls to a OData feed returned by a data service.
Calling Service Operations
Describes how to use the client library to call service operations.
Managing the Data Service Context
Describes options for managing the behavior of the client library.
Working with Binary Data
Describes how to access and change binary data returned by the data service as a data stream.