Sam Xu

Senior Software Engineer, OData, Microsoft Graph, Open API, Swagger

Sam is a Senior software engineer at Microsoft with over than 10 years of software developement experience. He's worked on a wide variety of platforms such as (C++, C#, etc.) and currently works on the OData team to design and implement features in the .NET stack of Microsoft's OData libraries. OData (Open Data Protocol) is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs. You can find more information about OData at https://odata.org You can track his contributions at: https://github.com/xuzhg and https://stackoverflow.com/users/3304931/sam-xu.

Post by this author

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

OData Model Builder now Available

How to empower developers to build OData Edm model easily from their data model (C# classes) is one of the most important task in OData team. Today, we are pleased to announce the first beta version of OData model builder available at https://www.nuget.org/packages/Microsoft.OData.ModelBuilder. Please try this package by installing as: ...

Move OData to .NET 5

Introduction Along with the Announcing .NET 5 preview 1, it’s time to move OData to .NET 5. This blog is intended to describe how easy to move the BookStore sample introduced in ASP.NET Core OData now Available  onto .NET 5. Let's get started. Install .NET 5 .NET 5 SDK is required to build the .NET 5 application. So, Let’s follow ...

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

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

[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. For any feature request, issue or idea please feel ...

How to consume SQL Spatial Data with Web API V2.2 for OData V4

Introduction Today, along with the increasing demands of Location-Based Services (LBS), it becomes more and more important to provide functionalities on SQL Spatial Data through a unique, robust and scalable service based on a standard protocol. This post is intended to give a tutorial about how to consume the SQL Spatial Data through EF...

[Tutorial & sample] Functions & Actions in Web API V2.2 for OData V4.0 – Type Scenario

Introduction Functions and actions are two of the most important parts in OData. They are always very useful to define special/customized server-side behaviors to process the data in OData services. From OData V4 spec, functions and actions both are operations and can be either bound to a type or unbound. However, there's a little bit ...

[Tutorial & Sample] Open complex type step by step with Web API 2.2 for OData v4.0

Introduction Recently, Microsoft officially announced Web API 2.2 for OData v4 via the blog post Announcing the Release of ASP.NET MVC 5.2, Web API 2.2 and Web Pages 3.2. In this release, a new feature named open complex type is introduced. As the ODL v4 spec says: Open complex types are keyless named structured types consisting of a set ...