Skip to content

Conversation

@iwedaz
Copy link
Contributor

@iwedaz iwedaz commented Dec 31, 2023

Current implementation don't find user implemented DbContext that injected with AddDbContextPool().

If you compare different versions of AddDbContext() and AddDbContextPool() extension methods, you will see all of them have the same registration for scoped user DbContext implementation.

EF Core 6
AddDbContextPool
AddDbContext

EF Core 7
AddDbContextPool
AddDbContext

EF Core 8
AddDbContextPool
AddDbContext

Therefor this approach for searching user implemented DbContext registrations is more universal.

@knumat
Copy link

knumat commented Jan 12, 2026

I also ran into this issue. Specifically, AddDbContextPool() sets the ImplementationFactory property, so the ImplementationType property is null. I tested the fix from @iwedaz with .NET 8 with a local build based on the last commit before the .NET 10 update (here) and it fixed the issue for me.

@edandersen Would you consider merging this update? The ASP.NET Get Started With EF Core page does not mention DbContext pooling, but it is the first thing mentioned on the Advanced Performance Topics page, so I'm sure others will run into this.

@knumat
Copy link

knumat commented Jan 12, 2026

It looks like #119 is trying to address the same issue, although it has slightly different code to fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants