From f0ad335e77396118d50a05eb0720cfe80c5693ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Domonkos?= Date: Wed, 29 Oct 2025 19:41:34 +0100 Subject: [PATCH] #8864: Fixing an error during Audit Trail trimming (Lombiq Technologies: ORCH-306) (#8866) --- .../Orchard.AuditTrail/Services/AuditTrailManager.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs index 0eb23b92a..1f723035f 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs @@ -22,7 +22,6 @@ namespace Orchard.AuditTrail.Services { /// public class AuditTrailManager : Component, IAuditTrailManager { private readonly IRepository _auditTrailRepository; - private readonly ITransactionManager _transactionManager; private readonly IAuditTrailEventProvider _providers; private readonly IClock _clock; private readonly IAuditTrailEventHandler _auditTrailEventHandlers; @@ -35,7 +34,6 @@ namespace Orchard.AuditTrail.Services { public AuditTrailManager( IRepository auditTrailRepository, - ITransactionManager transactionManager, IAuditTrailEventProvider providers, IClock clock, IAuditTrailEventHandler auditTrailEventHandlers, @@ -47,7 +45,6 @@ namespace Orchard.AuditTrail.Services { IClientHostAddressAccessor clientHostAddressAccessor) { _auditTrailRepository = auditTrailRepository; - _transactionManager = transactionManager; _providers = providers; _clock = clock; _auditTrailEventHandlers = auditTrailEventHandlers; @@ -261,9 +258,13 @@ namespace Orchard.AuditTrail.Services { var dateThreshold = (_clock.UtcNow.EndOfDay() - retentionPeriod); var query = _auditTrailRepository.Table.Where(x => x.CreatedUtc <= dateThreshold); - _transactionManager.GetSession().Delete(query); + var recordsToDeleteArray = query.ToArray(); - return query.ToArray(); + foreach (var record in query) { + _auditTrailRepository.Delete(record); + } + + return recordsToDeleteArray; } public string SerializeProviderConfiguration(IEnumerable settings) {