diff options
| author | Joshua M. Boniface <joshua@boniface.me> | 2025-10-11 17:20:23 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-11 17:20:23 -0400 |
| commit | ef0131ad6967b4c3268859af09c7b246342b3118 (patch) | |
| tree | 484fba742016d30845b4a83cd6a22893c6adf6bd | |
| parent | 056c318f04c8f7b7d89ff569f88c5ab987fa47fd (diff) | |
| parent | 8abcfb2a80118e46057e98562fe08ad7770b8c69 (diff) | |
Merge pull request #14976 from JPVenson/bugfix/ItemCounterSorting
apply sort on ItemValue query
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/BaseItemRepository.cs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs index ef444b930..f4396301c 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs @@ -1232,8 +1232,20 @@ public sealed class BaseItemRepository ExcludeItemIds = filter.ExcludeItemIds }; - var query = TranslateQuery(innerQuery, context, outerQueryFilter) - .GroupBy(e => e.PresentationUniqueKey); + var masterQuery = TranslateQuery(innerQuery, context, outerQueryFilter) + .GroupBy(e => e.PresentationUniqueKey) + .Select(e => e.FirstOrDefault()) + .Select(e => e!.Id); + + var query = context.BaseItems + .Include(e => e.TrailerTypes) + .Include(e => e.Provider) + .Include(e => e.LockedFields) + .Include(e => e.Images) + .AsSingleQuery() + .Where(e => masterQuery.Contains(e.Id)); + + query = ApplyOrder(query, filter); var result = new QueryResult<(BaseItemDto, ItemCounts?)>(); if (filter.EnableTotalRecordCount) @@ -1288,12 +1300,7 @@ public sealed class BaseItemRepository var resultQuery = query.Select(e => new { - item = e.AsQueryable() - .Include(e => e.TrailerTypes) - .Include(e => e.Provider) - .Include(e => e.LockedFields) - .Include(e => e.Images) - .AsSingleQuery().First(), + item = e, // TODO: This is bad refactor! itemCount = new ItemCounts() { @@ -1325,13 +1332,6 @@ public sealed class BaseItemRepository result.Items = [ .. query - .Select(e => e.AsQueryable() - .Include(e => e.TrailerTypes) - .Include(e => e.Provider) - .Include(e => e.LockedFields) - .Include(e => e.Images) - .AsSingleQuery() - .First()) .AsEnumerable() .Where(e => e is not null) .Select<BaseItemEntity, (BaseItemDto, ItemCounts?)>(e => |
