OData reference

The OData .NET Libraries (or OData .NET, for short) project includes the implementation of core functionalities of OData protocol on the .NET platform which includes URI parsing, request and response reading and writing, Entity Data Model (EDM) building, and also a .Net OData client which can be used to consume OData service. It is a fully open sourced project maintained by Microsoft OData team. The libraries are used by WebApi and RESTier which are recommended to be adopted to build new OData Services.

OData stands for the Open Data Protocol. It was initiated by Microsoft and is now an ISO approved and OASIS standard. OData enables the creation and consumption of REST APIs, which allow resources, identified using URLs and defined in a data model, to be published and edited by Web clients using simple HTTP requests.

For more information about OData, please refer to the following resources:

For how to adopt this and related libraries to build or consume OData service, please refer to the following resources:

OData libraries

The OData stack consists of the following libraries which implement version 4.0 of the OData specification. These libraries supersede the older V3 stack which is now deprecated.

  • ODataLib (namespace Microsoft.OData.Core): The ODataLib contains classes to serialize, deserialize and validate OData JSON payloads.
  • EdmLib (namespace Microsoft.OData.Edm): The EdmLib contains classes to represent, construct, parse, serialize and validate entity data models.
  • Microsoft.Spatial (namespace Microsoft.Spatial): The spatial library contains classes and methods that facilitate geography and geometry spatial operations.
  • OData Client for .NET (namespace Microsoft.OData.Client): The client library is built on top of ODataLib and EdmLib that has LINQ-enabled client APIs for issuing OData queries and consuming OData JSON payloads.