ググってよくわからないでやってるからちょっと危ないなとは思ってる
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection") ?? throw new InvalidOperationException("Connection string 'DefaultConnection' not found.");
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(connectionString));
Program.cs を
builder.Services.AddDbContextFactory<ApplicationDbContext>(options => {
if (builder.Environment.IsDevelopment())
{
options.EnableSensitiveDataLogging();
options.EnableDetailedErrors();
}
options.UseSqlServer(connectionString, providerOptions =>
{
providerOptions.EnableRetryOnFailure();
})
});
builder.Services.AddScoped<ApplicationDbContext>(p => p.GetRequiredService<IDbContextFactory<ApplicationDbContext>>().CreateDbContext());
にする。
DbContext 、アプリ用と Identity 用を分けるのも考えたけど規模的に微妙だからググりまくったら正に解答があったから助かった。