.NET 5+ Support
- 3 minutes to read
Install the DevExpress.Xpo NuGet package to add XPO assemblies to applications that target .NET 5+.
ASP.NET Core Support
XPO implements extension methods for the standard IServiceCollection interface to register XPO services for the ASP.NET Core pipeline. This follows best practices for the platform and enables automatic management of the Data Layer and Session life cycles.
You can use XPO as a Data Access layer in an ASP.NET Core Web API service.
This example demonstrates how to implement an XPO-based REST service and use the Newtonsoft.Json library to serialize/deserialize XPO objects.
- Getting Started (.NET 5) - describes how to create an XPO-based console application with .NET 5+.
- Scaffold API Controllers and Views for DevExtreme-based controls
Tutorials on GitHub:
- How to Implement OData v4 Service with XPO (.NET Framework | .NET Core)
- OData v4 Service with XPO + XAF’s User Authentication and Group Authorization API
- Xamarin CRUD Application (Android, iOS)
ASP.NET Core and Blazor tutorials
These tutorials illustrate how to use the extension methods to register XPO services for the ASP.NET Core pipeline and use JSON to save and load data to/from the data source.
Migration From the .NET Framework
.NET 5 misses a part of APIs that are present in the .NET Framework. Use the .NET Portability Analyzer tool to determine whether your application uses such APIs.
You can refactor your code to reduce the number of calls to missing APIs. Look for an alternative API with the required functionality.
Useful resource: .NET Framework technologies unavailable on .NET Core.
XPO for .NET 5 has the following limitations:
The GetConnectionProvider(String, AutoCreateOption) and GetDataLayer(String, AutoCreateOption) methods do not work if you pass a URL to a WCF service as the
connectionStringparameter. For more information, refer to the WCF client in .NET Core Support Center ticket.
You cannot use service classes listed in the Transferring Data using WCF Services topic in .NET Core 3.0+ and .NET Standard 2.0. Use WebApiDataStoreClient and WebApiDataStoreService instead. For more information, refer to the following help topic: Transfer Data via REST API.
The following design-time features rely on IDE capabilities and are not available in .NET 5+ projects developed in Visual Studio 2019.
- Design-time support for XPCollection and other data source components.
- ORM Data Model Designer, Wizard, and Item and Project Templates.