From 73c995c8ec589d2e63bf09169c2bca5cac9e6bc2 Mon Sep 17 00:00:00 2001 From: Markus Johansson Date: Wed, 23 Jul 2025 11:33:49 +0200 Subject: [PATCH] #19775 fixed get user data by applying OrderBy after counting (#19776) * #19775 fixed get user data by applying OrderBy after counting * Apply suggestions from code review --------- Co-authored-by: Andy Butland --- .../Persistence/Repositories/Implement/UserDataRepository.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserDataRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserDataRepository.cs index 024a10dc12..be142838a6 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserDataRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserDataRepository.cs @@ -44,13 +44,14 @@ internal sealed class UserDataRepository : IUserDataRepository sql = ApplyFilter(sql, filter); } + // Fetching the total before applying OrderBy to avoid issue with count subquery. + var totalItems = _scopeAccessor.AmbientScope?.Database.Count(sql!) ?? 0; + sql = sql.OrderBy(dto => dto.Identifier); // need to order to skiptake List? userDataDtos = await _scopeAccessor.AmbientScope?.Database.SkipTakeAsync(skip, take, sql)!; - var totalItems = _scopeAccessor.AmbientScope?.Database.Count(sql!) ?? 0; - return new PagedModel { Total = totalItems, Items = DtosToModels(userDataDtos) }; }