Is there a way to factory inject a custom DbContext?

DbContextFactory is specifically intended to require you to manage the lifecycle of your DbContext, because Blazor server apps don't use a Scope-per-Http request like ASP.NET Core does, so a Scoped DbContext won't work.

If you want a Scoped DbContext just use .AddDbContext intead of .AddDbContextFactory.

If you have registered a DbContextFactory but still want to inject a scoped DbContext direcly in your services, then register it like this:

    services.AddScoped<MyDbContext>(sp =>
    {
        var cf = sp.GetRequiredService<IDbContextFactory<MyDbContext>>();

        var db = cf.CreateDbContext();

        return db;

    });