OData

Create and consume RESTful APIs in a simple and standard way

OData Connected Service 0.4.0 Release

OData Connected Service 0.4.0 has been released and is now available on the Visual Studio Marketplace. The new version adds the following features: In this article, I would like to take you through some key new features and get you up to speed with using the OData Connected Service. OData Connected Service in Visual Studio...

Migrating OData V3 Services to OData V4 without Disrupting Existing Clients

The migration from your existing OData V3 services to V4 can be challenging if there are some clients that cannot be easily upgraded, like the ones running on on-premises resources. The OData V3 services will need to be kept running until the old clients have been phased out, incurring maintenance overhead. OData team recently released an ...

Enabling Endpoint Routing in OData

Few months ago we announced an experimental release of OData for ASP.NET Core 3.1, and for those who could move forward with their applications without leveraging endpoint routing, the release was considered final, although not ideal. But for those who have existing APIs or were planning to develop new APIs leveraging endpoint routing, the ...

Integrating Cosmos DB with OData (Part 3)

Sometimes requiring to build an entire ASP.NET Core application just for the purpose of exposing a RESTFul API endpoint to give your API consumers the ability to query, filter and order the data could be a bit of an overhead, especially if you are not planning on adding in any additional business logic between your data and it's consumers. ...

$select Enhancement in ASP.NET Core OData

The release of ASP.NET Core OData v7.3 brings a ton of improvements to $select functionality. In this article, I’d like to introduce some of the new features of $select and its usages in combination with other query options like $filter, $top, $skip, $orderby, $count and $expand. This tutorial assumes that you already have the knowledge to ...

Experimenting with OData in ASP.NET Core 3.1

A lot of developers have asked me recently about OData compatibility with ASP.NET Core 3.0 and again with .NET Core 3.1 after it’s very recent release. This demand became more and more critical with the recent announcement from the .NET team around .NET Core 2.2 reaching the end of its life on Dec 23rd of this year. And because of all ...

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, in addition to that I have provided a code...

Customize Control Information for full metadata requests in odata.net

Background OData supports three metadata levels for the JSON format, namely - No Metadata as the name suggests does not include control information other than nextLink and count. Minimal metadata responses usually include context, etag, deltalink etc. whereas full metadata responses contain all the control information like ...

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 - there are two more approaches that we could follow to work ...