Skip to content
Go to file

OData Web API

Build Status
WebApi Rolling
WebApi Nightly


OData Web API (i.e., ASP.NET Web API OData) is a server library built upon ODataLib and Web API.

Project structure

The project currently has the following branches:

master branch

This is the active development branch for OData WebApi and it is currently most actively iterated. The package name is Microsoft.AspNet.OData. The is the OData WebApi for ODL v7.x releases which contain breaking changes against ODL v6.

release branch

This is the release branch for OData WebApi, contains code base up to most recently stable WebApi release. The latest release version is 6.0.

feature/netcore branch

This is the feature development branch for OData WebApi for AspNet and AspNetCore. The package names are Microsoft.AspNet.OData and Microsoft.AspNetCore.OData. The is the OData WebApi 7.0 release which contain breaking changes against OData WebApi 6.0.

gh-pages branch

The gh-pages branch contains the old documentation source for OData WebApi - tutorials, guides, etc. For the most up-to-date documentation you should use Microsoft docs.

maintenance-aspnetcore branch

This is the maintenance branch for OData WebApi with ASP.NET Core support. The package name is Microsoft.AspNetCore.OData.

maintenance-V4 branch

This is the maintenance branch for OData WebApi based on ODL 6.x, which implements the ODataV4 protocol. The package name is Microsoft.AspNet.OData, with latest maintenance release version 5.10.

maintenance-V3 branch

This is the maintenance branch for OData WebApi based on ODL 5.x, which implements the ODataV3 protocol. The package name is Microsoft.AspNet.WebApi.OData, with latest maintenance release version 5.7.

maintenance-dnx branch

This is maintenance branch for an early prototype version of OData WebApi based on original ASP.NET Core, aka DNX. Package name is Microsoft.AspNet.OData. This is for project archive purpose only, is not active and doesn't accept contributions. It has only one release.

odata-v5.3-rtm v2.0-rtm v3-rtm v3.1-rtm v3.2-rtm branches

These are maintenance branches for previous RTMs. Project archives only, contributions not accepted.




Each solution contains some test projects. Test projects use xUnit runner nuget package.

Tests will not run correctly unless SkipStrongNames is Enabled. Please run

build.cmd EnableSkipStrongNames

Run tests in cmd

To run end-to-end tests, you need to open an elevated - Run as administrator - command prompt

  • build.cmd build projects, run unit tests, and OData end-to-end tests.

  • build.cmd quick build project, and run unit tests

To disable the SkipStrongNames:

build.cmd DisableSkipStrongNames

Run tests in Visual Studio

Open the project, build it, and then test cases should appear in test explorer. If not, this is because the assemblies are delay signed and you're missing the private key so xunit will not load them in Visual Studio. To fix, please run build.cmd EnableSkipStrongNames. Run all the tests in the test explorer. For running end-to-end tests you must open the solution as Administrator. More detail at this.

Nightly builds

The nightly build process will upload a NuGet packages for WebApi to: v7.x.x: webapinetcore feed v6.x.x: webapinightly feed

To connect to webapinightly feed, use this feed URL: v7.x.x: webapinetcore MyGet feed URL v6.x.x: webapinightly MyGet feed URL

You can query the latest nightly NuGet packages using this query: v7.x.x: MAGIC WebApi query v6.x.x: MAGIC WebApi query


Please refer to the


Please visit the OData Web API pages.


Please refer to the ODataSamples Repro.

  • ASP.NET Core OData samples at here
  • ASP.NET Classic OData samples at here


Please refer to the How to debug.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

You can’t perform that action at this time.