diff options
| author | Lampan-git <22211983+Lampan-git@users.noreply.github.com> | 2025-03-05 16:58:34 +0100 |
|---|---|---|
| committer | Lampan-git <22211983+Lampan-git@users.noreply.github.com> | 2025-03-05 16:59:49 +0100 |
| commit | e137a063623daa421c34fc7d27ac2502d66b8e0b (patch) | |
| tree | d17f6bd29fa16d78cba1995c5fcc0c35051f8c78 /Jellyfin.Server.Implementations | |
| parent | 4e3d7383f5cb85eb408f9d026b6da1986925df17 (diff) | |
Change PeopleBaseItemMap query from GroupJoin to Include
Diffstat (limited to 'Jellyfin.Server.Implementations')
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/PeopleRepository.cs | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs index cca25de73..28909cea7 100644 --- a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs +++ b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs @@ -42,20 +42,16 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I // Include PeopleBaseItemMap if (!filter.ItemId.IsEmpty()) { - var query = dbQuery - .GroupJoin( - context.PeopleBaseItemMap.AsNoTracking().Where(m => m.ItemId == filter.ItemId), - person => person.Id, - mapping => mapping.PeopleId, - (person, mappings) => new { Person = person, Mapping = mappings.FirstOrDefault() }); - - return query + dbQuery = dbQuery.Include(p => p.BaseItems!.Where(m => m.ItemId == filter.ItemId)); + + return dbQuery .AsEnumerable() .Select(p => { - var personInfo = Map(p.Person); - personInfo.Role = p.Mapping?.Role; - personInfo.SortOrder = p.Mapping?.SortOrder; + var personInfo = Map(p); + var mapping = p.BaseItems?.FirstOrDefault(); + personInfo.Role = mapping?.Role; + personInfo.SortOrder = mapping?.SortOrder; return personInfo; }) .ToArray(); |
