Extension: Omit null value properties in ASP.NET Core OData

Introduction By default, ASP.NET Core OData serializes a single value property as “null”, and a collection value property as an empty array if its value is null as such: It’s good for most scenarios. However, omitting those 'annoying' null-value properties from the OData response gets more and more attention. Along with the latest ...

Using the new JSON writer in OData

Microsoft.OData.Core version 7.12.2 has introduced a new JSON writer that’s based on .NET’s Utf8JsonWriter. The current JSON writer used in Microsoft.OData.Core, internally called JsonWriter, is a custom implementation that uses TextWriter to write the JSON output to the destination stream. We decided to write a new implementation to take ...

Tutorial: Build gRPC & OData in ASP.NET Core

Introduction gRPC (google Remote Procedure Call) is a high-performance remote procedure call framework that helps developers to build and consume remote services using the same way as calling local APIs. Different from gRPC, OData (Open Data Protocol) is an OASIS standard that defines a set of best practices for developers to build and ...

Customizing $filter for spatial data in ASP.NET Core OData 8

Background The OData URI parser parses the $filter query to a FilterClause. The FilterBinder translates an OData $filter parse tree represented by a FilterClause to an Expression. The Expression can be applied to an IQueryable and passed to an ORM (e.g Entity Framework Core) for processing. The FilterBinder contains the default ...
Comments are closed.0 0

$compute and $search in ASP.NET Core OData 8

Introduction OData system query options, such as $filter, $orderby, are a set of query string parameters that control the amount and order of the data returned for the resource identified by the URL. In the latest version of ASP.NET Core OData, two new system query options as follows are enabled: Along with other query options, $...

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

Support for fetching nested paths in OData Web API

Background OData services use nested paths to access properties or entities related to a resource. For example, if you want to access orders of a given customer, you would use a request path like: http://localhost:8080/Customers/1/Orders Microsoft.AspNetCore.OData 7.x provides two main approaches for handling such requests: convention ...
Comments are closed.0 0

Build formatter extensions in ASP.NET Core OData 8 and hooks in ODataConnectedService

Introduction In this post, I will create formatter extensions in an OData web service and request/response hooks in an OData client application to generate/consume ETag control information. ETag (aka entity tag), one of OData control information that may be applied to an entity or collection in response, can be used in a subsequent request to...

Tutorial: Creating a Service with ASP.NET Core OData 8.0 for .NET 5

In this document, we will walk through the process of creating a local service using OData 8.0, which is optimized to support ASP.NET Core 5. To learn more about the changes, check out ASP.NET Core OData 8.0 Preview for .NET 5 (which also references ASP.NET Core OData now Available), written by my colleague, Sam. You'll notice that this post ...