DataService<T> Class

The main entry point for developing an Open Data Protocol (OData) data service by using WCF Data Services.

Inheritance Hierarchy


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


<AspNetCompatibilityRequirementsAttribute(RequirementsMode := AspNetCompatibilityRequirementsMode.Allowed)> _
<ServiceBehaviorAttribute(InstanceContextMode := InstanceContextMode.PerCall)> _
Public Class DataService(Of T) _
    Implements IRequestHandler
Dim instance As DataService(Of T)
[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode.PerCall)]
public class DataService<T> : IRequestHandler
[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode::Allowed)]
[ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode::PerCall)]
generic<typename T>
public ref class DataService : IRequestHandler
[<AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)>]
[<ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode.PerCall)>]
type DataService<'T> =  
        interface IRequestHandler 
JScript does not support generic types and methods.

Type Parameters

  • T
    Type that defines the data service.

The DataService<T> type exposes the following members.


  Name Description
Public method DataService<T> Creates a new data service that deploys data of the type indicated by the template class.



  Name Description
Protected property CurrentDataSource Gets the data source instance currently being used to process the request.
Public property ProcessingPipeline Gets an object that defines the events for the data service processing pipeline.



  Name Description
Public method AttachHost Attaches the data service host to the data service identified by the parameter host.
Protected method CreateDataSource Creates a data source of the template class that will be used by the data service.
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected method HandleException Called when an exception is raised while processing a request.
Protected method MemberwiseClone (Inherited from Object.)
Protected method OnStartProcessingRequest Called before processing each request. For batch requests, it is called one time for the top batch request and one time for each operation in the batch.
Public method ProcessRequest Processes an HTTP request.
Public method ProcessRequestForMessage Processes an HTTP request.
Public method ToString (Inherited from Object.)



The DataService<T> class does the basic integration of all components of the server system. A new data service that uses system defaults for authorization and caching is created by defining a class that derives from the DataService<T> class and by referencing a compatible data model.

The type of the DataService<T> must expose at least one property that returns an entity set that is an IQueryable<T> collection of entity types. This class must also implement the IUpdatable interface to enable updates to be made to entity resources.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


System.Data.Services Namespace