Код: Выделить всё
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 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, и интересно, есть ли у кого-нибудь элегантное решение?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ous-operat