Microsoft.Data.Services 5.4.0

The ID prefix of this package has been reserved for one of the owners of this package by Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.Data.Services --version 5.4.0
NuGet\Install-Package Microsoft.Data.Services -Version 5.4.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Data.Services" Version="5.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Data.Services --version 5.4.0
#r "nuget: Microsoft.Data.Services, 5.4.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.Data.Services as a Cake Addin
#addin nuget:?package=Microsoft.Data.Services&version=5.4.0

// Install Microsoft.Data.Services as a Cake Tool
#tool nuget:?package=Microsoft.Data.Services&version=5.4.0

Fully-featured server API for responding to OData queries and consuming/producing OData payloads. Supports OData v3. Targets .NET 4.0 or Silverlight 4.0. Localized for CHS, CHT, DEU, ESN, FRA, ITA, JPN, KOR and RUS.

Product Compatible and additional computed target framework versions.
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (12)

Showing the top 5 NuGet packages that depend on Microsoft.Data.Services:

Package Downloads
Microsoft.OData.EntityFrameworkProvider The ID prefix of this package has been reserved for one of the owners of this package by

Server API for responding to OData queries and consuming/producing OData payloads based on entity framework version 6.0 or higher Supports OData v3. Targets .NET 4.0.

DevExpress.Xpo.Extensions The ID prefix of this package has been reserved for one of the owners of this package by

eXpress Persistent Objects (XPO) is an Object-Relational Mapping (ORM) tool that handles all aspects of database creation and object persistence, allowing you to concentrate on your application's business logic. With XPO, you can build applications that work with multiple database systems without making any changes to your code. More than a dozen of today's most popular database engines are supported, including MS SQL Server, PostgreSQL, MySQL and Oracle.


MongoDB OData provider




This assembly sets up and delivers the OData and WCF webservices.

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on Microsoft.Data.Services:

Repository Stars
NuGet Gallery is a package repository that powers Use this repo for reporting issues.
The Azure Automation PowerShell ISE Add-On makes it easy to author and test your runbooks in your local PowerShell ISE
Hawk protocol implementation for .NET
Version Downloads Last updated
5.8.5 162,454 11/12/2021
5.8.4 819,458 8/14/2018
5.8.3 224,307 9/8/2017
5.8.1 88,296 11/8/2016
5.8.0 7,289 10/31/2016
5.8.0-beta 1,257 9/30/2016
5.7.0 320,805 11/20/2015
5.7.0-rc 1,708 10/30/2015
5.7.0-beta 2,407 9/10/2015
5.6.5-beta 24,507 6/26/2015
5.6.4 447,142 3/30/2015
5.6.3 46,892 10/21/2014
5.6.2 161,070 8/4/2014
5.6.1 56,396 2/25/2014
5.6.0 241,863 8/16/2013
5.6.0-rc1 1,545 7/30/2013
5.6.0-alpha1 1,728 6/29/2013
5.5.0 33,017 5/30/2013
5.5.0-rc1 1,376 5/14/2013
5.5.0-alpha2 1,308 4/26/2013
5.5.0-alpha1 1,229 4/9/2013
5.4.0 17,873 4/2/2013
5.4.0-rc1 1,282 3/19/2013
5.3.0 64,619 2/18/2013
5.3.0-rc1 1,959 1/31/2013
5.2.0 13,069 12/17/2012
5.2.0-rc1 1,437 12/3/2012
5.1.0 10,342 11/7/2012
5.1.0-rc2 2,031 9/21/2012
5.1.0-rc1 2,192 7/11/2012
5.0.2 30,079 8/29/2012
5.0.2-rc 1,356 8/15/2012
5.0.1 44,696 5/18/2012
5.0.1-rc 1,558 5/8/2012 69,587 4/11/2012

------------------------------New Features------------------------------

Client deserialization/serialization hooks

We have a number of investments planned in the “request pipeline” area. In 5.4.0 we have a very big set of hooks for reaching into and modifying data as it is being read from or written to the wire format. These hooks provide extensibility points that enable a number of different scenarios such as modifying wire types, property names, and more.

Instance annotations on atom payloads

As promised in the 5.3.0 release notes, we now support instance annotations on Atom payloads. Instance annotations are an extensibility feature in OData feeds that allow OData requests and responses to be marked up with annotations that target feeds, single entities (entries), properties, etc. We do still have some more work to do in this area, such as the ability to annotate properties.

Client consumption of instance annotations

Also in this release, we have added APIs to the client to enable the reading of instance annotations on the wire. These APIs make use of the new deserialization/serialization pipelines on the client (see above). This API surface includes the ability to indicate which instance annotations the client cares about via the Prefer header. This will streamline the responses from OData services that honor the odata.include-annotations preference.

Simplified transition between Atom and JSON formats

In this release we have bundled a few less-noticeable features that should simplify the transition between the Atom and (the new) JSON format. (See also the bug fixes below on type resolver fixes.)

------------------------------Bug fixes------------------------------

In addition to the features above, we have included fixes for the following notable bugs:
- Fixes an issue where reading a collection of complex values would fail if the new JSON format was used and a type resolver was not provided
- Fixes an issue where ODataLib was not escaping literal values in IDs and edit links
- Fixes an issue where requesting the service document with application/json;odata=nometadata would fail
- Fixes an issue where using the new JSON format without a type resolver would create issues with derived types
- (Usability bug) Makes it easier to track the current item in ODataLib in many situations
- Fixes an issue where the LINQ provider on the client would produce $filter instead of a key expression for derived types with composite keys
- (Usability bug) Fixes an issue where the inability to set EntityState and ETag values forced people to detach and attach entities for some operations
- Fixes an issue where some headers required a case-sensitive match on the WCF DS client
- Fixes an issue where 304 responses were sending back more headers than appropriate per the HTTP spec
- Fixes an issue where a request for the new JSON format could result in an error that used the Atom format
- Fixes an issue where it was possible to write an annotation value that was invalid according to the term
- Fixes an issue where PATCH requests for OData v1/v2 payloads would return a 500 error rather than 405