/WebApi

OData Web API: A server library built upon ODataLib and WebApi

Primary LanguageC#OtherNOASSERTION

OData Web API

Introduction

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

Project structure

The project has a few branches, such as master, vNext, gh-pages.

master

The master branch has the following libraries, and the packages are available from NuGet or MyGet:

vNext

The vNext branch contains the latest code of OData vNext Web API.

gh-pages

The gh-pages branch contains the documenation source - in Markdown format - of the OData Web API.

Building

cd OData
build.cmd

Testing

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

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

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

  • build.cmd e2eV4 build projects, run unit tests, and OData v4 end-to-end tests.
  • build.cmd e2eV3 build projects, run unit tests, and OData v3 end-to-end tests.
  • build.cmd full build projects, run unit tests, OData v4 and v3 end-to-end 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

  1. In your NuGet Package Manager settings add the following package source:
  1. Package IDs

Contribution

Please refer to the CONTRIBUTION.md.

Documentation

Please visit the OData Web API pages.

Samples

Please refer to the ODataSamples WebApi.

Debug

Please refer to the How to debug.