Код: Выделить всё
builder.Services.AddDbContextFactory(o => o.UseSqlServer(builder.Configuration.GetConnectionString("Usdaw")), ServiceLifetime.Transient);
builder.Services.AddTransient();
Код: Выделить всё
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;
}
Код: Выделить всё
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();
Имя: InvalidOperationException Сообщение: Вторая операция была
начата этот экземпляр контекста до завершения
предыдущей операции. Обычно это вызвано тем, что разные потоки одновременно
используют один и тот же экземпляр DbContext. Дополнительную информацию о том, как
избежать проблем с потоками с помощью DbContext, см. на странице
https://go.microsoft.com/fwlink/?linkid=2097913.
Я перешел по ссылке, но, насколько я понимаю, я использую временную реализацию.
https://learn.microsoft.com/en-us/ef/co ... ing-issues
Я использую . NET8.0 и Entity Framework версии 8.0.4
Я подозреваю, что это может быть реализация репозиторияWrapper, и интересно, есть ли у кого-нибудь элегантное решение?
Хостинг Blazor на IIS 10, используя Net8.
Еще одна мысль: это прерывисто, и интересно, может ли это быть связано с тем, что IIS перезапускает пул приложений?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ous-operat