OData

Create and consume RESTful APIs in a simple and standard way

[Announcement] RESTier v0.5.0 Release

We are happy to announce that the RESTier 0.5.0-beta is released and available on NuGet.
0.5.0-beta is a big release, it adopts dependency injection to provide lots of flexibility to consumers, it also adds many new features, fixes kinds of issues. 

[Announcement] Web API OData v5.9 Release

We are happy to announce that the Web API OData v5.9 is released and available on NuGet.
Detailed release notes for v5.9 can be found here. Thanks your support.
You and your team are highly welcomed to try out this new version if you are interested in the new features and issues fixed.

[Announcement] ODataLib 5.6.4 Release

We are happy to announce that the ODataLib 5.6.4 is released and available on NuGet. Detailed release notes are listed below:
New Features:
[GitHub issue #144] ODataLib now suppresses the errors in reading open entity’s undeclared collection or complex property value
Bug Fixes:
[GitHub issue #60] Fix an issue that $select does not work with EntityFramework 5
Call to Action:
You and your team are highly welcomed to try out this new version if you are interested in the new features and fixes above.

[Announcement] ODataLib 6.11.0 Release

We are happy to announce that the ODataLib 6.11.0 is released and available on NuGet. Detailed release notes are listed below:
New Features:
[GitHub issue #23] ODataLib now supports parsing URI path template.
[GitHub issue #71] EdmLib now supports adding vocabulary annotations to EdmEnumMember.

Early investigation into supporting the OData V4 libraries in ASP.NET 5/MVC 6

Dear OData lovers,
The OData team has started the investigation into supporting the OData .NET V4 libraries in ASP.NET 5/MVC 6. The work is currently going well and tracked by the following two GitHub issues:

Support ODataLib/EdmLib/Microsoft.Spatial on ASP.NET 5/ASP.NET Core 5

https://github.com/OData/odata.net/issues/97

Port ASP.NET Web API OData to ASP.NET 5/MVC 6

https://github.com/OData/WebApi/issues/229 (initiated by one of our enthusiastic users @PinpointTownes on GitHub)

It’s been an interesting journey as it’s a lot of fun testing how our libraries works with the new framework,

OData team embraces open source

Dear OData lovers,
As many of you may have already noticed, the OData team is embracing open source.
What does this empower you to do?
You now can:

About codes

Get and build them
Run tests: unit tests, functional tests &

[Announcement] OData Web API 5.4 Release

The NuGet packages for OData Web API 5.4 are now available on the NuGet gallery.
Download this release
You can install or update the NuGet packages for OData Web API 5.4 using the Package Manager Console:

What’s in this release?

[Announcement] ODataLib 6.10.0 Release

We are happy to announce that the ODataLib 6.10.0 is released and available on NuGet. Detailed release notes are listed below:
 New Features:
[GitHub issue #1] EdmLib now supports EdmError/EdmLocation containing file name.
[GitHub issue #26] OData Client for .NET now supports getting instance annotations from payload or getting metadata annotations.

[Announcement] OData Web API 5.4 RC

The NuGet packages for OData Web API 5.4 RC are now available on the NuGet gallery.
Download this release
You can install or update the NuGet packages for OData Web API 5.4 RC using the Package Manager Console:

What’s in this release?

OData

Optimizing Web Applications with OData $Select

OData as an API technology comes in with so many options that gives API consumers the power to shape, filter, order and navigate through the data with very few lines of code.
In my previous articles I talked in details about how to enable OData on your existing ASP.NET Core API using the EDM model,

Customize Control Information for full metadata requests in odata.net

Background
OData supports three metadata levels for the JSON format, namely –

No Metadata
Minimal Metadata
Full Metadata

No Metadata as the name suggests does not include control information other than nextLink and count. Minimal metadata responses usually include context, etag,

Using SkipToken for Paging in Asp.Net OData and Asp.Net Core OData

Loading large data can be slow. Services often rely on pagination to load the data incrementally to improve the response times and the user experience. Paging can be server-driven or client-driven:
Client-driven paging
In client-driven paging, the client decides how many records it wants to load and asks the server for that many records.

Integrating Cosmos DB with OData (Part 2)

In the first article of this series, we talked about integrating Cosmos DB with ASP.NET Core application powered by OData using a pre-built solution that was using Cosmos Client to run full CRUD operations.
But that’s not the only way we can work with Cosmos DB from ASP.NET Core –

Integrating Cosmos DB with OData (Part 1)

We talked in previous articles about the pluggability of OData with any storage technology regardless of its schema, whether it’s a SQL-based storage, NoSQL, In-Memory or simply a file on a hard-drive.
This power of OData enables developers to work with powerful,

Enabling Pagination in Blazor with OData

Summary
We talked in a previous article about enabling OData in your existing ASP.NET Core API using EDM.
One of the biggest advantages of following that method is to be able to take advantage of functionality such as count to enable an on-demand function in almost every web application such as navigation.

Simplifying EDM with OData

Summary
In a previous article, I talked about how you can leverage the power of OData with your existing ASP.NET Core API to bring in more features to your API consumers.
But there are different ways you could enable OData on your existing API that are just as simple but offers more powerful features than overriding your existing routes and enabling dependency injection.

Supercharging ASP.NET Core API with OData

Summary
In this article, I’m going to show you how you can supercharge your existing ASP.NET Core APIs with OData to provide better experience for your API consumers with only 4 lines of code.
For the purpose of this tutorial please clone our demo project WashingtonSchools so you can follow up and try the different features we are going to talk about in this article.

ASP.NET Core OData now Available

Introduction
The Microsoft OData Team is proud to announce general availability (GA) of OData (Open OData Protocol) on ASP.NET Core 2.0. It is now available through Nuget package at https://www.nuget.org/packages/Microsoft.AspNetCore.OData, current its version is 7.0.0.
Along this release, it will allow customers to create OData v4.0 endpoints and leverage the OData query syntax easily on multiple platforms,

[Announcement] RESTier v0.6.0 Release

We are happy to announce that the RESTier 0.6.0 is released and available on NuGet.
0.6.0 is a release add fix several issues and add several key features, it has minor public API change comparing with previous release. Detailed release notes for v0.6.0 can be found here.

ODL

ASP.NET Core OData now Available

Introduction
The Microsoft OData Team is proud to announce general availability (GA) of OData (Open OData Protocol) on ASP.NET Core 2.0. It is now available through Nuget package at https://www.nuget.org/packages/Microsoft.AspNetCore.OData, current its version is 7.0.0.
Along this release, it will allow customers to create OData v4.0 endpoints and leverage the OData query syntax easily on multiple platforms,

WebAPI

Optimizing Web Applications with OData $Select

OData as an API technology comes in with so many options that gives API consumers the power to shape, filter, order and navigate through the data with very few lines of code.
In my previous articles I talked in details about how to enable OData on your existing ASP.NET Core API using the EDM model,

Integrating Cosmos DB with OData (Part 2)

In the first article of this series, we talked about integrating Cosmos DB with ASP.NET Core application powered by OData using a pre-built solution that was using Cosmos Client to run full CRUD operations.
But that’s not the only way we can work with Cosmos DB from ASP.NET Core –

Integrating Cosmos DB with OData (Part 1)

We talked in previous articles about the pluggability of OData with any storage technology regardless of its schema, whether it’s a SQL-based storage, NoSQL, In-Memory or simply a file on a hard-drive.
This power of OData enables developers to work with powerful,

Supercharging ASP.NET Core API with OData

Summary
In this article, I’m going to show you how you can supercharge your existing ASP.NET Core APIs with OData to provide better experience for your API consumers with only 4 lines of code.
For the purpose of this tutorial please clone our demo project WashingtonSchools so you can follow up and try the different features we are going to talk about in this article.

ASP.NET Core OData now Available

Introduction
The Microsoft OData Team is proud to announce general availability (GA) of OData (Open OData Protocol) on ASP.NET Core 2.0. It is now available through Nuget package at https://www.nuget.org/packages/Microsoft.AspNetCore.OData, current its version is 7.0.0.
Along this release, it will allow customers to create OData v4.0 endpoints and leverage the OData query syntax easily on multiple platforms,