.NET Core 3.1
Microsoft.EntityFrameworkCore 3.1.10
Microsoft.EntityFrameworkCore.Design 3.1.10
MySql.Data.EntityFrameworkCore 8.0.20
I have a project on the above-mentioned tech stack. Now I want to migrate it to .NET 5. After migration, I did not find any compatible package for MySQL connector. Now the ONLY option I am left out with is Pomelo.EntityFrameworkCore.MySql. But the .NET 5 supported version 5.0.0-alpha.2 still is in Pre-release.
So what do you suggest in this case?
From https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1088#issuecomment-725075994:
However, we do only apply changes with every single test working, so we consider even the alpha versions as stable from a runtime point of view. But a new release can still result in compile time errors (e.g. when we adjust a namespace, add a mandatory parameter, or remove an obsolete feature that has been superseded by another one) that you would need to fix in your code.
So the code is considered stable and should not introduce significant breaking changes from a runtime perspective. That being said, we are still cleaning up the code base, marking or removing obsolete features etc. So you might need to change I code line or two between releases, to make your project compile again.
Personally, I am already using it in production (and according to #1088 also many others).
As a side note, the switch to Pomelo also comes with much more features (e.g. full JSON and spatial support), better performance (true async support), and a community that responds quickly to questions and issues and is dedicated to help you solve your issues. In addition to that, contributing to Pomelo is much simpler than to the Oracle codebase.
It should be noted that MySQL Connector/NET 8.0.22 claims support for .NET 5.0 so you could try using 8.0.22, but Pomelo does have advantages that were already stated.
In addition to providing continued support for .NET Core and .NET Framework, Connector/NET now includes support for the new .NET 5.0 framework. Compatibility testing was performed with the preview versions of .NET 5.0 and Visual Studio to encourage the efforts of early adopters.
It should be noted that MySQL Connector/NET 8.0.22 claims support for .NET 5.0 so you could try using 8.0.22, but Pomelo does have advantages that were already stated.
In addition to providing continued support for .NET Core and .NET Framework, Connector/NET now includes support for the new .NET 5.0 framework. Compatibility testing was performed with the preview versions of .NET 5.0 and Visual Studio to encourage the efforts of early adopters.
@mguinness Yes, they do say they have support for .NET 5 and depending on that I have started the migration process. But this is the _error_ I face with MySQL Connector/NET 8.0.20, 8.0.21 and 8.0.22.
Closing issue as any further updates on EF Core 5 support (including releases) will be posted at https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1088.
@ShaonDey @mguinness While it is true, that MySQL Connector/NET has .NET 5.0 support, it does _not_ have EF Core 5.0 support.
See their nuget package.
(Technically it shows Microsoft.EntityFrameworkCore.Relational (>= 3.1.1), but EF Core 3.1.1 providers are incompatible with EF Core 5.0.0, so the >= 3.1.1 actually means >= 3.1.1 && < 5.0.0).
So as far is I know, Pomelo is indeed the only published option currently available.
(It is probably possible to locally compile Oracle's current project state, but I have no idea how far away they are from full EF Core 5.0 support and how stable their current bits are).
Thanks for confirming, after re-reading their release notes that does align with your findings. Considering support for 3.1 (released Dec 2019) was only available in April 2020 with 8.0.20, that suggests it'll be several months before Oracle provides support for 5.0 and document that in Entity Framework Core Support.
Nonetheless that has nothing to do with this provider and if OP wants updates on our future releases, they would be advised to watch https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1088. If they're not comfortable using our pre-release version in production, they can still upgrade to .NET 5.0, but remain using EF Core 3.1 as their ORM.
Most helpful comment
Thanks for confirming, after re-reading their release notes that does align with your findings. Considering support for 3.1 (released Dec 2019) was only available in April 2020 with 8.0.20, that suggests it'll be several months before Oracle provides support for 5.0 and document that in Entity Framework Core Support.
Nonetheless that has nothing to do with this provider and if OP wants updates on our future releases, they would be advised to watch https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1088. If they're not comfortable using our pre-release version in production, they can still upgrade to .NET 5.0, but remain using EF Core 3.1 as their ORM.