Произошло исключение при переборе результатов запроса для типа контекста MyDbContextHere.
System.ObjectDisposeException: невозможно получить доступ к удаленному экземпляру контекста. Распространенной причиной этой ошибки является удаление экземпляра контекста, который был разрешен в результате внедрения зависимостей, а затем попытка использовать тот же экземпляр контекста в другом месте вашего приложения. Это может произойти, если вы вызываете Dispose для экземпляра контекста или заключаете его в оператор using. Если вы используете внедрение зависимостей, вы должны позволить контейнеру внедрения зависимостей позаботиться об удалении экземпляров контекста.
Но если я перейду на ToList, это сработает.< /p>
Не работает:
Код: Выделить всё
public async Task Handle(ListFoldersQuery request, CancellationToken cancellationToken)
{
var folders = request.FolderId == null
? await dbContext.Folders.Where(f => f.ParentFolderId == null).ToListAsync(cancellationToken)
: await dbContext.Folders.Where(f => f.Id == request.FolderId).ToListAsync(cancellationToken);
var result = mapper.Map(folders).ToList();
return Results.Ok(result);
}
Код: Выделить всё
public Task Handle(ListFoldersQuery request, CancellationToken cancellationToken)
{
var folders = request.FolderId == null
? dbContext.Folders.Where(f => f.ParentFolderId == null).ToList()
: dbContext.Folders.Where(f => f.Id == request.FolderId).ToList();
var result = mapper.Map(folders).ToList();
return Task.FromResult(Results.Ok(result));
}
Код: Выделить всё
services.AddDbContext(options =>
options.UseNpgsql(configuration.GetConnectionString("ClientShareDbConnection")));
Подробнее здесь: https://stackoverflow.com/questions/791 ... olist-does