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).
Please Help Us Test Major Changes to the XPO Core against All DB Providers
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.
Breaking Changes
Please refer to the following article: The DevExpress.Data, DevExpress.Xpo and other cross-platform assemblies for .NET Core 3 (WinForms & WPF), .NET Standard, .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.
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.