Merge pull request #114 from meysamhadeli/fix/as-no-tracking

fix: try for fix DbUpdateConcurrencyException
This commit is contained in:
Meysam Hadeli 2023-01-22 03:25:18 +03:30 committed by GitHub
commit e57ec7315c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,8 +11,6 @@ using Microsoft.Extensions.Logging;
namespace BuildingBlocks.PersistMessageProcessor;
using Exception = System.Exception;
public class PersistMessageProcessor : IPersistMessageProcessor
{
private readonly ILogger<PersistMessageProcessor> _logger;
@ -56,7 +54,7 @@ public class PersistMessageProcessor : IPersistMessageProcessor
public async Task<IReadOnlyList<PersistMessage>> GetByFilterAsync(Expression<Func<PersistMessage, bool>> predicate,
CancellationToken cancellationToken = default)
{
return (await _persistMessageDbContext.PersistMessages.Where(predicate).ToListAsync(cancellationToken))
return (await _persistMessageDbContext.PersistMessages.AsNoTracking().Where(predicate).ToListAsync(cancellationToken))
.AsReadOnly();
}
@ -112,7 +110,7 @@ public class PersistMessageProcessor : IPersistMessageProcessor
public async Task ProcessAllAsync(CancellationToken cancellationToken = default)
{
var messages = await _persistMessageDbContext.PersistMessages
var messages = await _persistMessageDbContext.PersistMessages.AsNoTracking()
.Where(x => x.MessageStatus != MessageStatus.Processed)
.ToListAsync(cancellationToken);