FirebirdSQL / NETProvider

Firebird ADO.NET Data Provider
https://www.firebirdsql.org/en/net-provider/
Other
152 stars 63 forks source link

.NET 7 + EF Core 7 support #1083

Closed cincuranet closed 10 months ago

cincuranet commented 1 year ago

Rough plan:

Extra:

ErikEJ commented 1 year ago

Just FYI, EF Core 7 targets .NET 6

Ionut27 commented 1 year ago

any chance to see this year a preview version net7 compatible?

cincuranet commented 1 year ago

Preview version of what? ADO.NET provider or EF Core provider?

Ionut27 commented 1 year ago

EF Core 7 support

cincuranet commented 1 year ago

Unlikely.

Igor-9309 commented 1 year ago

Hi! When NET7 support will release? thx

cincuranet commented 1 year ago

No hard ETA yet.

Excalibrus commented 1 year ago

Is there any news around this?

cincuranet commented 1 year ago

Not done yet, but also not far from being done.

Igor-9309 commented 12 months ago

Hi! Why is the upgrade to .NET 7 taking so long? It's almost pointless to do the task now, as .NET 8 is just around the corner.

cincuranet commented 12 months ago

I'm working on it as my free time permits. But you're more than welcome to sponsor this issue and/or become FF sponsor.

fdcastel commented 11 months ago

@cincuranet there is already any work done in this direction?

If yes, could you please push it in another branch in this repository?

I'm asking this because I'm in dire need of some features which are present only in EF Core 7.0. I could contribute with PRs, if desired.

Currently using FirebirdSql.EntityFrameworkCore.Firebird 9.1.1 with EF Core 7.0 gives me the following error:

System.MissingMethodException: Method not found: 'System.Collections.Generic.IList`1<Microsoft.EntityFrameworkCore.Metadata.Conventions.IModelInitializedConvention> Microsoft.EntityFrameworkCore.Metadata.Conventions.ConventionSet.get_ModelInitializedConventions()'.
   at FirebirdSql.EntityFrameworkCore.Firebird.Metadata.Conventions.FbConventionSetBuilder.CreateConventionSet()
   at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.RuntimeConventionSetBuilder.CreateConventionSet()
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, ModelDependencies modelDependencies)
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime)
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel(Boolean designTime)
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
   at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__8_4(IServiceProvider p)
   ...
cincuranet commented 11 months ago

This branch.

fdcastel commented 11 months ago

@cincuranet this branch appears to be working fine. The error mentioned above doesn't occur. 🙌

Also, I spent the last hours working with it and nothing exploded on my face.

That said... it would be possible for you to publish it as is as a pre-release version (e.g. 9.2-beta)?

I know it is a far cry from having all checks from your original "rough plan". But it seems to me it would be useful for anyone anxious to use EF Core 7.0 -- and, judging by the reactions of this issue, I'm not the only one. 😉

cincuranet commented 11 months ago

That's a sane idea, with the recent TPC finishes, it makes sense to have some pre-release version. Enjoy https://www.nuget.org/packages/FirebirdSql.EntityFrameworkCore.Firebird/9.2.0-alpha1.

ErikEJ commented 11 months ago

I will get it added to EF Core Power Tools!

cincuranet commented 11 months ago

Living on the edge, right? ;)

ErikEJ commented 11 months ago

It is only the reverse engineering part that is used...

cincuranet commented 10 months ago

Done via a86a6f94d006316d2d4d64a1a1b8c9b19bafae07.