我想在 .NET Core 3.1 WPF 应用程序中将 EF Core 与 .NET Core 依赖项注入(inject)结合使用。
在 ASP.NET 中,作用域 DbContext 的生命周期将是一个 HTTP 请求,但在 WPF 中,它将是整个应用程序的生命周期,这是不建议的。
那么如何管理 WPF .NET Core 应用程序中 DbContext 的生命周期?
最佳答案
我建议这样定义它:
services.AddDbContext<AppDbContext>(options => options
.UseSqlServer(configuration.GetConnectionString("LocalDB")), ServiceLifetime.Transient, ServiceLifetime.Transient);
这样每个模型都有自己的 DbContext。
另一个解决方案是声明 Singleton DbContextFactory 并调用其 Create
方法来每次使用时创建新的 DbContext。
关于c# - WPF 中作用域 EF Core DbContext 的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61957461/