Fix Image loading (#14842)

This commit is contained in:
JPVenson
2025-09-23 16:02:30 +03:00
committed by GitHub
parent 27047c35a4
commit 7bb68d8610

View File

@@ -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); 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 = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
dbQuery = ApplyOrder(dbQuery, filter);
} }
else if (enableGroupByPresentationUniqueKey) else if (enableGroupByPresentationUniqueKey)
{ {
var tempQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.FirstOrDefault()).Select(e => e!.Id); 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 = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
dbQuery = ApplyOrder(dbQuery, filter);
} }
else if (filter.GroupBySeriesPresentationUniqueKey) else if (filter.GroupBySeriesPresentationUniqueKey)
{ {
var tempQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.FirstOrDefault()).Select(e => e!.Id); 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 = context.BaseItems.Where(e => tempQuery.Contains(e.Id));
dbQuery = ApplyOrder(dbQuery, filter);
} }
else else
{ {
dbQuery = dbQuery.Distinct(); 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) dbQuery = dbQuery.Include(e => e.TrailerTypes)
.Include(e => e.Provider) .Include(e => e.Provider)
.Include(e => e.LockedFields) .Include(e => e.LockedFields)
@@ -411,9 +416,6 @@ public sealed class BaseItemRepository
dbQuery = dbQuery.Include(e => e.Images); dbQuery = dbQuery.Include(e => e.Images);
} }
// dbQuery = dbQuery.Distinct();
// dbQuery = ApplyOrder(dbQuery, filter);
return dbQuery; return dbQuery;
} }
@@ -440,7 +442,6 @@ public sealed class BaseItemRepository
private IQueryable<BaseItemEntity> ApplyQueryFilter(IQueryable<BaseItemEntity> dbQuery, JellyfinDbContext context, InternalItemsQuery filter) private IQueryable<BaseItemEntity> ApplyQueryFilter(IQueryable<BaseItemEntity> dbQuery, JellyfinDbContext context, InternalItemsQuery filter)
{ {
dbQuery = TranslateQuery(dbQuery, context, filter); dbQuery = TranslateQuery(dbQuery, context, filter);
// dbQuery = ApplyOrder(dbQuery, filter);
dbQuery = ApplyGroupingFilter(context, dbQuery, filter); dbQuery = ApplyGroupingFilter(context, dbQuery, filter);
dbQuery = ApplyQueryPaging(dbQuery, filter); dbQuery = ApplyQueryPaging(dbQuery, filter);
return dbQuery; return dbQuery;
@@ -1322,7 +1323,13 @@ public sealed class BaseItemRepository
result.Items = result.Items =
[ [
.. query .. 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() .AsEnumerable()
.Where(e => e is not null) .Where(e => e is not null)
.Select<BaseItemEntity, (BaseItemDto, ItemCounts?)>(e => .Select<BaseItemEntity, (BaseItemDto, ItemCounts?)>(e =>