ASP.NET Core/EntityFramework Coreでは、services.AddDbContext <>メソッドは、指定されたコンテキストをスコープ付きサービスとして追加します。それがMicrosoftによるdbcontextの推奨されるライフタイム管理であると理解しています。
しかし、エンジニア部門ではこれについて多くの議論があり、多くの人はコンテキストをできるだけ早く破棄する必要があると感じています。それで、dbcontextをTransientとして設定する最良の方法は何ですか?
ライフタイムは、AddDbContext<>()
のパラメーターです。例を参照してください:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")),
ServiceLifetime.Transient);
これにより、一時的な存続期間でサービスコレクションに追加されます。