Based on user feedback, we’ve updated our benchmarks against EF 6 and EF Core:
https://github.com/DevExpress/XpoNetCoreDemos/tree/master/ORMBenchmark
What's New in the benchmark?
- Updated NuGet package version:
- Entity Framework 6.2.0 (EF 6);
- Entity Framework Core 2.1.4 (EF Core);
- eXpress Persistent Objects™ 18.2.3 (XPO).
- Entity Framework 6.2.0 (EF 6);
- Graphs and their legends now display ORM versions.
- Each benchmark now also compares ORMs with direct SQL queries to show ORM overhead.
Run the updated benchmark tests or review our results here. Example:

All benchmarks were executed using .NET 4.7.2, AnyCPU release builds (include warm-up), Windows 10 Enterprise x64, local Microsoft SQL Server 2016 Developer Edition, i7-7700 CPU @3.6GHz / 16GB RAM / SSD.
We also contributed to the Dapper.Tests.Performance benchmarks, so you can compare XPO with other micro and macro ORMs. See the results below:

It is an expected result that requests to macro-ORM take more time than requests to micro-ORM or direct SQL queries.
Interesting Support Center tickets
- We fixed an issue with the "The assembly does not have persistent classes" error in the ORM Data Model Designer (T680676);
- We described how to create a simple data layer to modify data using XPO and a stored procedure in the same transaction (T690250);
- We showed how to perform a left outer join query using XPO (T691525);
- We updated the K18356: How to use XPO data layer caching in XAF KB article;
- We still receive questions on Mono specifics from Xamarin developers, for instance, about using the System.Data.SqlClient and System.Drawing.Common assemblies in XPO apps (T661502 | T643780).
Your feedback counts!
What do you think about the benchmarks results? Let us know in comments. We'd love to hear your feedback.Love XPO and want to help us promote it? Add the package through Nuget.org instead of DevExpress Nuget!