diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs index e26624747c..d7d39a25d8 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs @@ -143,7 +143,10 @@ namespace Volo.Abp.Domain.Repositories.EntityFrameworkCore public override void Delete(Expression> predicate, bool autoSave = false) { - base.Delete(predicate, autoSave); + foreach (var entity in GetQueryable().AsNoTracking().Where(predicate).ToList()) + { + Delete(entity, autoSave); + } if (autoSave) { @@ -153,7 +156,7 @@ namespace Volo.Abp.Domain.Repositories.EntityFrameworkCore public override async Task DeleteAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default) { - var entities = await GetQueryable() + var entities = await GetQueryable().AsNoTracking() .Where(predicate) .ToListAsync(GetCancellationToken(cancellationToken));