diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs index f833848f97..0183685be4 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs @@ -240,24 +240,29 @@ public sealed class BaseItemRepository( private IQueryable ApplyGroupingFilter(IQueryable dbQuery, InternalItemsQuery filter) { - var enableGroupByPresentationUniqueKey = EnableGroupByPresentationUniqueKey(filter); - if (enableGroupByPresentationUniqueKey && filter.GroupBySeriesPresentationUniqueKey) - { - dbQuery = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.First()); - } - else if (enableGroupByPresentationUniqueKey) - { - dbQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.First()); - } - else if (filter.GroupBySeriesPresentationUniqueKey) - { - dbQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.First()); - } - else - { - dbQuery = dbQuery.Distinct(); - dbQuery = ApplyOrder(dbQuery, filter); - } + // var enableGroupByPresentationUniqueKey = EnableGroupByPresentationUniqueKey(filter); + // if (enableGroupByPresentationUniqueKey && filter.GroupBySeriesPresentationUniqueKey) + // { + // dbQuery = ApplyOrder(dbQuery, filter); + // dbQuery = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.First()); + // } + // else if (enableGroupByPresentationUniqueKey) + // { + // dbQuery = ApplyOrder(dbQuery, filter); + // dbQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.First()); + // } + // else if (filter.GroupBySeriesPresentationUniqueKey) + // { + // dbQuery = ApplyOrder(dbQuery, filter); + // dbQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.First()); + // } + // else + // { + // dbQuery = dbQuery.Distinct(); + // dbQuery = ApplyOrder(dbQuery, filter); + // } + dbQuery = dbQuery.Distinct(); + dbQuery = ApplyOrder(dbQuery, filter); return dbQuery; } @@ -293,7 +298,7 @@ public sealed class BaseItemRepository( private IQueryable PrepareItemQuery(JellyfinDbContext context, InternalItemsQuery filter) { - IQueryable dbQuery = context.BaseItems.AsNoTracking().AsSingleQuery() + IQueryable dbQuery = context.BaseItems.AsNoTracking().AsSplitQuery() .Include(e => e.TrailerTypes) .Include(e => e.Provider) .Include(e => e.LockedFields);