Oliver's Blog

XPO for .NET Core (.NET Standard 2.0, Beta in v17.2)

Ever since .NET Core was first released, we have had requests to support XPO, our object/relational mapping solution, on the platform. Today I can finally announce that support is available – .NET Standard 2.0 made it possible!



Getting started

We have added a special page for .NET Core to our product documentation, which you can find by following this link. You’ll see that XPO can be added to your project as a NuGet package with a simple command:

dotnet add package DevExpress.Xpo -v 17.2.2-beta -s https://nuget.devexpress.com/early-access/api

The special URL you see, with early-access in it, can be used by all during the current beta phase. If you have a personal key for our NuGet repository (all about that here), you can replace the early-access part with that key, or omit the -s parameter entirely if you have NuGet configured already on your system.

Once the package is installed, I recommend you have a look at the special .NET Standard 2.0 demos we have created. Of course the XPO API remains the same! You can apply all the information from our tutorials and examples, and even the overview I gave in my XPO webinar still applies for most of its content.

On November 21st, we offer a webinar about XPO on .NET Core. Here’s our list of webinars, where you can sign up for this event.

Limitations

Even though .NET Standard 2.0 has come a long way and added lots of APIs that were previously missing from .NET Core, there are still a few pieces of XPO functionality that aren’t supported due to platform restrictions. Here’s a list that I believe to be complete at this time:

1 – Providers: The full list of XPO supported database systems will be updated soon. At this time, XPO on .NET Core supports SQL Server, MySql, PostgreSQL and SQLite. Note that this is not really an XPO limitation – as soon as RDBMS vendors begin supporting .NET Standard 2.0, we will test XPO with those RDBMS providers and add them to our supported list.

2 – OData: OData Services are not supported because our existing implementation relies on the Microsoft.Data.Services library, which only supports the .NET Framework.

3 – The WCF based IDataStore implementations DataStoreService and CachedDataStoreService are technically available, but you won’t be able to run an application that uses them on .NET Core because it lacks the ServiceHost class. However, the related DataStoreClient and CachedDataStoreClient can be used, for instance in a Xamarin app, to access XPO services hosted on full .NET.

4 – The visual designer should not be used at this time, because it adds references to “standard” XPO into your project. Of course it is possible to use designer-generated classes, for instance by copying them from another project.

Try it!

If you use .NET Core, or consider doing so, please give XPO a spin! We are very interested in your feedback or questions!

Finally, we are still interested in feedback through our survey about ORM and .NET Core!

Published Nov 08 2017, 09:58 AM by
Filed under: ,
Bookmark and Share

Comments

Eric Upton 1

This is great news!

November 8, 2017 7:55 AM

Franco Bonacchi

Excellent!

November 8, 2017 9:03 AM

Kartal TURGUT

Woov!

November 8, 2017 9:46 AM

renejdm

Please add VistaDB soon.

November 8, 2017 11:32 AM

Dennis (DevExpress Support)

@renejdm: We have informed Gibraltar of your request. I must make it clear, though, that this does not depend on XPO much and this is not really an XPO 'limitation'.

You may also want to contact VistaDB (or any other provider) directly for this: vistadbsupport.gibraltarsoftware.com/.../4000331302 

Once more RDBMS vendors support .NET Standard 2.0, it will not be long for XPO to be tested against them and claim their support, of course, if the vendors do not rewrite everything in their .NET connectors:-)

November 8, 2017 12:30 PM

renejdm

Thanks for your comment Dennis and thanks for the link. Also, thanks for informing Gibraltar.

November 8, 2017 7:37 PM

Manuel Grundner [DevExpress MVP]

Awesome work guys!

November 9, 2017 12:14 AM

Michael Proctor [DX-Squad]

Hi Guys,

Amazing job, I have just accepted a full time role to come back into development full time. As part of this is bringing our XPO WCF service up to current standard. The ability to use XPO objects within Xamarin will be a massive advantage to this rewrite.

Obviously it is a beta, and I am sure there will be teething issues while the .NET Standard functions are mapped to current API implementations but it is great to see XPO not being left behind.

I think it will be time to restart my blog, yet again ;)

November 15, 2017 1:03 AM

Dennis (DevExpress Support)

Welcome back, Michael!

November 15, 2017 10:25 AM
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners