Data Services Providers (WCF Data Services)
WCF Data Services supports multiple provider models for exposing data as an Open Data Protocol (OData) feed. This topic provides information to enable you to select the best WCF Data Services provider for your data source.
WCF Data Services supports the following providers for defining the data model of a data service.
Entity Framework provider
This provider uses the ADO.NET Entity Framework to enable you to use relational data with a data service by defining a data model that maps to relational data. Your data source can be SQL Server or any other data source with third-party provider support for the Entity Framework. You should use the Entity Framework provider when you have a relational data source, such as a SQL Server database. For more information, see Entity Framework Provider (WCF Data Services).
This provider uses reflection to enable you to define a data model based on existing data classes that can be exposed as instances of the IQueryable<T> interface. Updates are enabled by implementing the IUpdatable interface. You should use this provider when you have static data classes that are defined at runtime, such as those generated by LINQ to SQL or defined by a typed DataSet. For more information, see Reflection Provider (WCF Data Services).
Custom Data Service Providers
WCF Data Services includes a set of providers that enable you to dynamically define a data model based on late-bound data types. You should implement these interfaces when the data being exposed is not known when the application is being designed or when the Entity Framework or reflection providers are not sufficient. For more information, see Custom Data Service Providers (WCF Data Services).
WCF Data Services has the following additional data service provider that enhances the performance of a data source defined by using one of the other providers.
This provider enables you to expose binary large object data types by using WCF Data Services. A streaming provider is created by implementing the IDataServiceStreamProvider interface. This provider can be implemented together with any data source provider. For more information, see Streaming Provider (WCF Data Services).