gpt4 book ai didi

c# - Entity Framework Core 和多线程

转载 作者:太空狗 更新时间:2023-10-29 23:53:22 25 4
gpt4 key购买 nike

在我的 ASP.NET Core 应用程序中,我有一些复杂的业务逻辑涉及多个线程在 HTTP 请求范围之外执行数据库操作。从处理请求的同一个线程访问数据库是微不足道的,但是当产生需要自己的 DbContext 的线程时,这就变得乏味了。由于 DbContext 本身不是线程安全的,除了从 IServiceProvider 获取 DbContext 之外,我还尝试创建一个新的 DbContext 及其选项。使用这两种方法,我都会遇到以下异常:

An attempt was made to use the context while it is being configured. A DbContext instance cannot be used inside OnConfiguring since it is still being configured at this point.

我的印象是我以错误的方式解决了这个问题,我不应该像这样处理数据库连接。那么我应该如何在处理传入请求的线程中的单独线程中获取 DbContext?

最佳答案

我测试过它有效:

var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
optionsBuilder.UseSqlServer(DbConnectionString);

using (var context = new ApplicationDbContext(optionsBuilder.Options))
{

//save or update() on *context* here
}

关于c# - Entity Framework Core 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37013704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com