aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2025-09-23 16:02:30 +0300
committerGitHub <noreply@github.com>2025-09-23 07:02:30 -0600
commit7bb68d86102834dcda8e6faa736d13c54144d005 (patch)
tree77a4c60683bda2c49905cde31405ee58c4260fd4 /Jellyfin.Server.Implementations/Item
parent27047c35a43bf0437d6f215b92485c45b4b355c6 (diff)
Fix Image loading (#14842)
Diffstat (limited to 'Jellyfin.Server.Implementations/Item')
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs25
1 files changed, 16 insertions, 9 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index c2e6e7feb..a34e95c4d 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -381,26 +381,31 @@ public sealed class BaseItemRepository
{
var tempQuery = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.FirstOrDefault()).Select(e => e!.Id);
dbQuery = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
- dbQuery = ApplyOrder(dbQuery, filter);
}
else if (enableGroupByPresentationUniqueKey)
{
var tempQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.FirstOrDefault()).Select(e => e!.Id);
dbQuery = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
- dbQuery = ApplyOrder(dbQuery, filter);
}
else if (filter.GroupBySeriesPresentationUniqueKey)
{
var tempQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.FirstOrDefault()).Select(e => e!.Id);
dbQuery = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
- dbQuery = ApplyOrder(dbQuery, filter);
}
else
{
dbQuery = dbQuery.Distinct();
- dbQuery = ApplyOrder(dbQuery, filter);
}
+ dbQuery = ApplyOrder(dbQuery, filter);
+
+ dbQuery = ApplyNavigations(dbQuery, filter);
+
+ return dbQuery;
+ }
+
+ private static IQueryable<BaseItemEntity> ApplyNavigations(IQueryable<BaseItemEntity> dbQuery, InternalItemsQuery filter)
+ {
dbQuery = dbQuery.Include(e => e.TrailerTypes)
.Include(e => e.Provider)
.Include(e => e.LockedFields)
@@ -411,9 +416,6 @@ public sealed class BaseItemRepository
dbQuery = dbQuery.Include(e => e.Images);
}
- // dbQuery = dbQuery.Distinct();
- // dbQuery = ApplyOrder(dbQuery, filter);
-
return dbQuery;
}
@@ -440,7 +442,6 @@ public sealed class BaseItemRepository
private IQueryable<BaseItemEntity> ApplyQueryFilter(IQueryable<BaseItemEntity> dbQuery, JellyfinDbContext context, InternalItemsQuery filter)
{
dbQuery = TranslateQuery(dbQuery, context, filter);
- // dbQuery = ApplyOrder(dbQuery, filter);
dbQuery = ApplyGroupingFilter(context, dbQuery, filter);
dbQuery = ApplyQueryPaging(dbQuery, filter);
return dbQuery;
@@ -1322,7 +1323,13 @@ public sealed class BaseItemRepository
result.Items =
[
.. query
- .Select(e => e.First())
+ .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 =>