aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs43
1 files changed, 24 insertions, 19 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index f833848f9..0183685be 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<BaseItemEntity> ApplyGroupingFilter(IQueryable<BaseItemEntity> 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<BaseItemEntity> PrepareItemQuery(JellyfinDbContext context, InternalItemsQuery filter)
{
- IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSingleQuery()
+ IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSplitQuery()
.Include(e => e.TrailerTypes)
.Include(e => e.Provider)
.Include(e => e.LockedFields);