Код: Выделить всё
builder.Services.AddDbContextFactory(o => o.UseSqlServer(builder.Configuration.GetConnectionString("Usdaw")), ServiceLifetime.Transient);
builder.Services.AddTransient();
< /code>
RepositoryWrapper: < /p>
private RepositoryContext _repo;
public RepositoryContext RepositoryContext
{
get
{
return _repo;
}
}
Код: Выделить всё
public RepositoryWrapper(IConfiguration config, RepositoryContext repo1, RepositoryContext repo2, RepositoryContext repo3)
{
_repo1 = repo1;
_repo2 = repo2;
_repo3 = repo3;
}
< /code>
RepositoryContext < /p>
public partial class RepositoryContext : DbContext
{
public RepositoryContext()
{
}
public ERepositoryContext(DbContextOptions options)
: base(options)
{
}
public virtual DbSet ActivityLogs { get; set; } = null!;
var dbSession = await _wrapper.RepositoryContext.ActivityLogs.Where(s => s.SessionID == Guid.Parse(HttpContext.Session.Id)).FirstOrDefaultAsync();
< /code>
Я получаю страшные Этот экземпляр контекста перед предыдущей операцией
завершен. Обычно это вызвано различными потоками одновременно
с использованием одного и того же экземпляра DBContext. Для получения дополнительной информации о том, как
избегать проблем с потоком с DBContext, см.
Я следил за ссылкой туда, но, насколько я вижу, я использую реализацию переходного процесса. en-us/ef/core/dbcontext-configuration/#ensuging-dbcontext-threading-issues
Я использую .net8.0 и Entity Framework версия 8.0.4 < Br /> Я подозреваю, что это может быть реализация RepositoryWrapper, и задается вопросом, есть ли у кого -нибудь элегантное решение? > Еще одна мысль, это прерывисто и задавалась вопросом, может ли это быть связано с тем, когда IIS перерабатывает пул приложений? //i.sstatic.net/yp59stx7.png "/>
Подробнее здесь: https://stackoverflow.com/questions/793 ... ous-operat