Hassan Habib

Sr. Software Engineering Manager, Microsoft

I'm a software engineer at Microsoft with over 21 years of experience building mobile, web and enterprise applications. I mastered technology to make people's lives better, one line of code at a time.

Post by this author

The Future of OData NxT (Neo)

Few months ago I announced a collaboration with the OData team to start building a new version of OData that can withstand the forever changing requirements in software design and architecture. I got together with Sam Xu and we decided to kick-off a spin-off version of OData.NET that I called OData NxT (Neo) OData Neo is an attempt to ...

Up & Running w/ OData in ASP.NET 6

In this article, I'm going to walk you through the simplest way you can follow to get up and running with OData 8.0 on ASP.NET 6.0 - including source code examples, video walk-throughs and a glimpse into the future of OData.

All in One with OData $Batch

Introduction We talked in the past about some of the most powerful features OData has to offer such as shaping, filtering and ordering your data all within your API request. But with an API GET request you can only do so much before you reach the maximum length of a URL which is a standard limitation. For instance, let's assume we are ...

Exploring Graph Native Support for OData

We talked in previous articles about the amount of enterprise technologies that offer OData out-of-the-box for it’s RESTFul API communications. some of these technologies are widely spread such as SharePoint, SAP, SQL Server and so many other technologies that leverage a multi-billion user powerful technology like OData. In this article, ...

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. ...

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...

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 ...

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, planet-scale storage technologies such as Cosmos DB. In this article we ...