eXpress Persistent Objects - Early Access Preview (v20.1)

XPO Team Blog
06 March 2020

The goal of this blog post is to share our newest XPO-specific features and give you the opportunity to test new functionality before we wrap up our current dev cycle. XPO is available free-of-charge. If you own an active Universal or DXperience subscription, you can download the preview build from the DevExpress Download Manager and test the features described in this blog post. Once you do, please take a moment tell us whether these new features address your business needs. This will help us fine-tune our code before official launch.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.

This EAP may not include all features/products we expect to ship in our v20.1 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.

Protect Sensitive Data - Using SQL Server and Always Encrypted 

XPO v20.1 supports Always Encrypted for SQL Server 2016+. You can now read, update, sort and filter encrypted column data (the last two operations depend on encryption mode).  

If you are not yet familiar with this SQL Server feature, let me quote the official documentation: 

Always Encrypted is a feature designed to protect sensitive data, such as credit card numbers or national identification numbers (for example, U.S. social security numbers), stored in Azure SQL Database or SQL Server databases. Always Encrypted allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to the Database Engine (SQL Database or SQL Server).
If you are new to Always Encrypted, you may also want to watch a 15-min feature overview from Jose Ojeda, a DevExpress MVP:

Please Help Us Test Major Changes to the XPO Core against All DB Providers 

Previous versions of XPO could only use encrypted tables in read-only mode (because SQL Server imposed special requirements on SQL update statements). To address these requirements, we significantly reworked the core SQL generator module. While we avoided breaking changes for other database providers and our tests passed, we urge XPO users to thoroughly test the Early Access Preview within their projects and research these breaking changes:

If you happen to encounter other breaking changes or unique scenarios, please contact us in the Support Center. Thank you in advance.

The DevExpress.Xpo library for .NET Core 3 (WinForms & WPF) has been removed or replaced with the corresponding .NET Standard version. For more information, please refer to the following article: The DevExpress.Data and other cross-platform assemblies for .NET Core 3 (WinForms & WPF), .NET Standard, and.NET Framework apps have been split or removed. While these changes will not affect the majority of XPO users, they help simplify common development tasks like How to Share Class Libraries with the DevExpress Data or XPO Dependencies for Different Target Frameworks.

XPO Officially Supports Microsoft.Data.SqlClient

Microsoft recommends the new Microsoft.Data.SqlClient driver instead of System.Data.SqlClient for new .NET Framework and .NET Core projects. Going forward, Microsoft will also only support new SQL Server features in Microsoft.Data.SqlClient. 

We tested XPO with this new driver, updated the Database Systems Supported by XPO article and some public APIs. For instance, the CreateSqlDependencyCacheRoot methods now accept an IDbConnection object as a parameter.

Coming Soon: Database Schema Migrations

Our final v20.1 release (in 1-2 months) will also allow users to incrementally update database schema and preserve existing data after changes are made to XPO’s data model (AS4684). Our goal is to make this process better than that found in EF Core Migrations. For starters, we will generate diffs between the latest data model and existing database schema so that you can apply the SQL script manually. For v20.2, we are considering to update schema automatically via a special command in the ORM Data Model Designer or some CLI. If you have any questions or suggestions about implementation, feel free to email us at XpoTeam@devexpress.com - we will be happy to follow up.

Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds. 

This EAP may not include all features/products we expect to ship in our v20.1 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship in two months.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.