Я разрешен выполнять SaveChanges во время активного цикла над iaSyncenumerable из dbset ?
api замечания " Тот же экземпляр контекста не поддерживается. P> Но я не уверен, что откровенное значение IAsyncenumerable считается активной операцией.
Я должен использовать еще один dbcontext для сохранения маркера состояния? < /p>
while(!cancellationToken.IsCancellationRequested)
{
await using var scope = serviceScopeFactory.CreateAsyncScope();
var db = scope.ServiceProvider.GetRequiredService();
await foreach(var o in db.Orders
.Where(o => o.Status != 1) // and some other conditions
.AsAsyncEnumerable()
.WithCancellation(cancellationToken)
.ConfigureAwait(false))
{
o.Status = 1;
await db.SaveChangesAsync(cancellationToken);
// run fire and forget async work once
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... erable-loo
Мобильная версия