OData

Create and consume RESTful APIs in a simple and standard way

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

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

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

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

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.

API versioning extension with ASP.NET Core OData 8

IntroductionAPI versioning can help evolving our APIs without changing or breaking the existing API services. URL segment, request header, and query string are three ways to achieve API versioning in ASP.NET Core application.ASP.NET Core OData 8, built upon ASP.NET Core, has the built-in API versioning functionality via route URL prefix ...

Attribute Routing in ASP.NET Core OData 8.0 RC

IntroductionAttribute routing is how Web API matches the incoming HTTP requests to an action based on route template attributes decorated on controller or action. ASP.NET Core defines a set of route template attributes to enable attribute routing, such as RouteAttribute, HttpGetAttribute etc. ASP.NET Core OData 8.0 RC supports these ...

ASP.NET Core OData 8.0 Preview for .NET 5

Recently, OData team released the 8.0.0 preview version of ASP.NET Core OData on nuget.org. It is the first version of OData supporting .NET 5, especially for ASP.NET Core 5. This version includes some breaking changes, such as model builder separation, namespace changes and configuration changes etc. Most importantly, the routing mechanism is...

Dynamic properties container property in OData Client

When working with open types in an OData service, dynamic properties are held in a container property of type IDictionary<string, object>. However, support for a similar container property has traditionally been absent in OData client. For this reason, dynamic properties returned from an OData service could only be mapped to declared ...