Downloads of v 5.4.0


Average downloads per day


Last published

Share on Social Networks



Classes to serialize, deserialize and validate OData payloads. Enables construction of OData producers and consumers.

Targets .NET 4.0 or Silverlight 4.0.

Localized for CHS, CHT, DEU, ESN, FRA, ITA, JPN, KOR and RUS.

To install ODataLib, run the following command in the Package Manager Console

Install-Package Microsoft.Data.OData -Version 5.4.0

Release Notes

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



Microsoft Corporation



Version History

Version Downloads Last updated
ODataLib for... 5.8.2 737,762 Monday, February 6, 2017
ODataLib for... 5.8.1 424,153 Tuesday, November 8, 2016
ODataLib for... 5.8.0 64,840 Monday, October 31, 2016
ODataLib for... 5.8.0-beta 7,655 Friday, September 30, 2016
ODataLib for... 5.7.0 2,009,750 Friday, November 20, 2015
ODataLib for... 5.7.0-rc 10,544 Friday, October 30, 2015
ODataLib for... 5.7.0-beta 9,947 Thursday, September 10, 2015
ODataLib for... 5.6.5-beta 26,514 Friday, June 26, 2015
ODataLib for... 5.6.4 3,517,436 Monday, March 30, 2015
ODataLib for... 5.6.3 594,983 Tuesday, October 21, 2014
ODataLib for... 5.6.2 1,605,074 Friday, August 1, 2014
ODataLib for... 5.6.1 499,364 Tuesday, February 25, 2014
ODataLib for... 5.6.0 1,767,245 Friday, August 16, 2013
ODataLib 5.6.0-rc1 9,555 Tuesday, July 30, 2013
ODataLib 5.6.0-alpha1 9,215 Friday, June 28, 2013
ODataLib 5.5.0 230,233 Thursday, May 30, 2013
ODataLib 5.5.0-rc1 8,544 Tuesday, May 14, 2013
ODataLib 5.5.0-alpha2 11,374 Friday, April 26, 2013
ODataLib 5.5.0-alpha1 7,743 Tuesday, April 9, 2013
ODataLib 5.4.0 (this version) 150,149 Tuesday, April 2, 2013
ODataLib 5.4.0-rc1 7,850 Tuesday, March 19, 2013
ODataLib 5.3.0 140,826 Monday, February 18, 2013
ODataLib 5.3.0-rc1 8,932 Thursday, January 31, 2013
ODataLib 5.2.0 4,728,390 Monday, December 17, 2012
ODataLib 5.2.0-rc1 21,967 Monday, December 3, 2012
ODataLib 5.1.0 26,783 Wednesday, November 7, 2012
ODataLib 5.1.0-rc2 17,824 Friday, September 21, 2012
ODataLib 5.1.0-rc1 2,123 Wednesday, July 11, 2012
ODataLib 5.0.2 100,384 Wednesday, August 29, 2012
ODataLib 5.0.2-rc 562 Wednesday, August 15, 2012
ODataLib 5.0.1 41,648 Friday, May 18, 2012
ODataLib 5.0.1-rc 637 Tuesday, May 8, 2012
ODataLib 34,065 Wednesday, April 11, 2012