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

XPO Team Blog
14 March 2019

We are two months away from our next major update (v19.1). The purpose of this post is to share details and give users the opportunity to test new functionality before we wrap up our current dev cycle. If you own an active Universal or DXperience subscription, you can download the CTP build from the DevExpress Download Manager and test the features described in this blog post. Once you do, take a moment to let us know how well the new features address your requirements. This will help us fine-tune our code before the launch.

If you are using a trial version and want immediate access to the features we mention in this blog post, purchase a Universal or DXperience subscription license and you will automatically gain access to the CTP version. If you are ready to upgrade to Universal or DXperience from another subscription level, email us at for preferential upgrade pricing.

Async/Await Method Enhancements

Asynchronous execution was implemented at the XPO layer in v18.2. Connection providers used synchronous versions of IDbConnection, IDbCommand, IDataReader, and other ADO.NET API. We have now propagated our async/await method support to the underlying ADO.NET drivers.


XPBindingSource is a lightweight data source for WinForms runtime-only applications. It serves to data-bind UI controls and uses XPO sources internally (XPCollection, XPQuery, XPView). Think of it as an XPO analog of the standard BindingSource.

XPBindingSource simplifies development in the following use cases:

  • XPO data sources used on visually inherited Windows Forms and User Controls (T121952).
  • Data refresh in persistent objects and collections (A643).
  • Immediate data refresh in bound UI controls (T685021).
  • Binding to nullable properties (S33566).
  • Binding to object references without complex or custom property descriptors (T319505).

Refer to the WinForms code examples to get started.

Connection Provider Enhancements

Prepared SQL statements for PostgreSQL can be used to increase INSERT and SELECT operation performance between 40% and 80%, depending on your data model structure and use-case scenario. For more information, check out our implementation and test results in this KB article.

XPO now supports the PostgreSQL 'date' type and maps it to System.DateTime. Note that we have not introduced any breaking changes into XPO-generated databases. eXpress Persistent Objects continues to map System.DateTime to 'timestamp'.

XPO now supports Oracle Database 18c.

Static methods GetConnectionString() in DB2, SQL Server, MySQL, and Firebird connection providers now support a port parameter. The ORM Data Model Wizard displays the corresponding field in the UI for these providers and also for PostgreSQL and ASE:

We Need Your Feedback!

We appreciate any thoughts you post to the comments section below and especially your answers to the questions in the survey below. Thank you very much for your help!

NOTE: Preview builds for v19.1 are provided solely for early testing purposes; they are not ready for production use and must not be shared with others, as any other pre-release versions of our software. This build can be installed side by side with other DevExpress major versions. Many other installation parts may not be ready yet or even be broken, so we would kindly ask you to research and test only the functionality discussed in this article. Your application must be upgraded to the new version using the Project Converter, as you would normally do when migrating to a new DevExpress version: Installation > Upgrade Notes. Always backup your application and other important data before installing any preview builds and actual testing

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.