diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-04-26 17:59:16 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-04-26 18:53:17 +0200 |
| commit | d19449e6a5d66bc37ade831dd96a85152e98a533 (patch) | |
| tree | 86327b2ba4594220e6a49df94a76ff93cb1dfafb /Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs | |
| parent | fc866a64e063c9f04df3fab9a00846501c8d2b13 (diff) | |
Use AsNoTracking() when only reading
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs')
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs index 02664621d4..a1f02be059 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs @@ -69,17 +69,17 @@ public sealed partial class BaseItemRepository if (enableGroupByPresentationUniqueKey && filter.GroupBySeriesPresentationUniqueKey) { var groupedIds = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.Min(x => x.Id)); - dbQuery = context.BaseItems.Where(e => groupedIds.Contains(e.Id)); + dbQuery = context.BaseItems.AsNoTracking().Where(e => groupedIds.Contains(e.Id)); } else if (enableGroupByPresentationUniqueKey) { var groupedIds = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.Min(x => x.Id)); - dbQuery = context.BaseItems.Where(e => groupedIds.Contains(e.Id)); + dbQuery = context.BaseItems.AsNoTracking().Where(e => groupedIds.Contains(e.Id)); } else if (filter.GroupBySeriesPresentationUniqueKey) { var groupedIds = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.Min(x => x.Id)); - dbQuery = context.BaseItems.Where(e => groupedIds.Contains(e.Id)); + dbQuery = context.BaseItems.AsNoTracking().Where(e => groupedIds.Contains(e.Id)); } else { @@ -142,7 +142,7 @@ public sealed partial class BaseItemRepository .Distinct(); var collapsedIds = nonCollapsibleIds.Union(collapsibleNotInBoxSet).Union(boxSetIds); - return context.BaseItems.Where(e => collapsedIds.Contains(e.Id)); + return context.BaseItems.AsNoTracking().Where(e => collapsedIds.Contains(e.Id)); } private static IQueryable<BaseItemEntity> ApplyBoxSetCollapsingAll( @@ -169,7 +169,7 @@ public sealed partial class BaseItemRepository .Distinct(); var collapsedIds = notInBoxSet.Union(boxSetIds); - return context.BaseItems.Where(e => collapsedIds.Contains(e.Id)); + return context.BaseItems.AsNoTracking().Where(e => collapsedIds.Contains(e.Id)); } private static IQueryable<BaseItemEntity> ApplyNameFilters(IQueryable<BaseItemEntity> dbQuery, InternalItemsQuery filter) @@ -368,6 +368,7 @@ public sealed partial class BaseItemRepository var allDescendantIds = DescendantQueryHelper.GetAllDescendantIds(context, ancestorId); var baseQuery = context.BaseItems + .AsNoTracking() .Where(b => allDescendantIds.Contains(b.Id) && !b.IsFolder && !b.IsVirtualItem); return ApplyAccessFiltering(context, baseQuery, filter); |
