eXpress Persistent Objects – 2019 Roadmap

XPO Team Blog
22 January 2019

Here it is – XPO's 2019 Roadmap. We want to thank you for your feedback. If you have any issues with this roadmap or questions about implementation, feel free to email us at XpoTeam@devexpress.com - we will be happy to follow up.

Async/await Method Enhancements (v19.1)

We’ll enhance our async/await method and apply it to the underlying ADO.NET drivers where applicable (not all drivers provide async methods). Currently, asynchronous execution is implemented at the XPO layer and XPO connection providers use synchronous versions of IDbConnection, IDbCommand, IDataReader, and other ADO.NET APIs.

.NET Core 3 and .NET Standard 2.1 (v19.1)

Like other teams here at DevExpress, we expect to support .NET Core 3.0 and the .NET Standard 2.1 specification when officially released by Microsoft.

Visual Studio 2019 (v19.1)

We’ll add support for Visual Studio 2019. We will update and test our extensions for Item and Project Templates (ORM Data Model Designer, Persistent Object, OData Service). We have updates planned for our next minor update (v18.2.4) and will add support for AsyncPackage once Visual Studio 2019 is officially released by Microsoft.

Connection Providers (v19.1 and v19.2)

Our goal will be to keep XPO connection providers up to date with the latest versions of database engines and extend support based on feedback. We’ll also test and expand .NET Core connection providers support as and when RDBMS vendors provide it. This is a continuous task - you can expect enhancements throughout 2019.

More Demos and Learning Materials (v19.1 and v19.2)

We’ll ship more demos and improve the learning materials for primary XPO platforms (WinForms, ASP.NET Core, ASP.NET WebForms, WPF, Xamarin).

New XPO Data Sources (v19.1 and v19.2)

We’ll ship new XPO data sources for DevExpress Grids and other data bound controls. This feature was the clear winner in our 2019 Roadmap survey (it received 58% of the vote).

1.1. XPServerModeDataView and XPInstantFeedbackDataView are mixtures of XPServerCollectionSource/XPInstantFeedbackSource and XPView for use with our grids. These are new read-only server mode components offering:

  • Ability to handle large data sources with lower memory usage (will not load entire persistent object instance).
  • Ability to customize SELECT statements to exclude unused data columns.
  • Ability to Include reference property data in the root query to avoid the 1+N problem.
  • And ability to Include custom (virtual) properties calculated on the server side (similar to ViewProperty).

1.2. XPBindingSource is a lightweight data source for WinForms and WPF (runtime only) applications. It will enhance usability in the following ways:

  • XPO data sources on visually inherited Windows forms and user controls (T121952)
  • Easy persistent object and collection reload (A643)
  • Immediate data-bound control refresh (T685021)
  • Binding to nullable properties (S33566) and object references without complex or full custom property descriptors (T319505)

Additional features (v19.2)

If we have spare time, we will work on minor Feature Group #2 (it received 13% of the vote) - ORM Data Model Designer enhancements for both XPO and XAF users.

As always, we welcome your feedback. Feel free to leave a comment and let us know what you think of our 2019 XPO Roadmap.

The information contained within this blog post details our current/projected development plans. Please note that this information is being shared for INFORMATIONAL PURPOSES ONLY and does not represent a binding commitment on the part of Developer Express Inc. This roadmap and the features/products listed within it are subject to change. You should not rely on or use this information to help make a purchase decision about Developer Express Inc products.

Love XPO and want to help us promote it? Add the package through Nuget.org instead of DevExpress Nuget!

7 comment(s)
Milos Glosik
Milos Glosik

ORM Data Model Designer enhancements - I also use Entity developer from Devart, has great designer. You can inspire ;-)

31 January, 2019
Hadiuddin Chishti
Hadiuddin Chishti

Can I get the default option of Importing Data from Excel like Xpand.

26 February, 2019
Dennis (DevExpress)
Dennis (DevExpress)

@Hadiuddin Chishti:

Would you please elaborate more on your experience with the eXpand Framework's solution? How does it meet your needs, which use-case scenarios and requirements you solved with it and what is probably missing? I am also asking because it is unclear what you are expecting from our ORM in this regard (such tasks are more specific to application frameworks like XAF).

26 February, 2019
Patrick Ahlgrimm
Patrick Ahlgrimm

Hi, I'd like to see "native" OData v4 and IQueryable/IQueryable<T> support since your example from July 2018 seems a bit "constructed".

1 April, 2019
Dennis (DevExpress)
Dennis (DevExpress)

@Patrick Ahlgrimm:

Thank you for your feedback. Did the github.com/.../XPO_how-to-implement-odata4-service-with-xpo example work for you in the current state?

Would you please describe your current problems and expected results in greater detail?

For now, I can only say that we are considering moving helpers from the corresponding folder into DevExpress.Xpo.AspNetCore library or similar to improve code reusability. Unfortunately, we cannot avoid all the scaffolding code due to the ASP.NET Core and OData v4 implementation requirements.

1 April, 2019
Donald Shimoda
Donald Shimoda

Seems likes ORM on Postgres only see public schema. For that reason we cannot even start to analyze subscribe and use it. Plans to add support to schema selection on import?

31 May, 2019
Uriah (DevExpress Support)
Uriah (DevExpress Support)

Yes, the ORM Data Model Wizard currently imports objects from the default schema only for some databases (PostgreSQL and Oracle). The ObjectsOwner option is also ignored when creating a new database from the existing XPO classes. We have plans to address this requirement in the future, but I do not have the time estimate at the moment. Please note that mapping to the existing tables in a different schema is possible if you create persistent classes manually: www.devexpress.com/.../T525382.

3 June, 2019

Please login or register to post comments.