diff --git a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs index a8dfd4cd3a..1396f1c6f8 100644 --- a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs +++ b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs @@ -39,6 +39,12 @@ public class PeopleRepository(IDbContextFactory dbProvider, I dbQuery = dbQuery.Take(filter.Limit); } + // Include PeopleBaseItemMap + if (!filter.ItemId.IsEmpty()) + { + dbQuery = dbQuery.Include(p => p.BaseItems!.Where(m => m.ItemId == filter.ItemId)); + } + return dbQuery.AsEnumerable().Select(Map).ToArray(); } @@ -93,10 +99,13 @@ public class PeopleRepository(IDbContextFactory dbProvider, I private PersonInfo Map(People people) { + var mapping = people.BaseItems?.FirstOrDefault(); var personInfo = new PersonInfo() { Id = people.Id, Name = people.Name, + Role = mapping?.Role, + SortOrder = mapping?.SortOrder }; if (Enum.TryParse(people.PersonType, out var kind)) { diff --git a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs index d2fbcbec94..9e33eb2a71 100644 --- a/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs +++ b/Jellyfin.Server/Migrations/Routines/MigrateLibraryDb.cs @@ -242,9 +242,7 @@ public class MigrateLibraryDb : IMigrationRoutine { } - if (reader.TryGetInt32(4, out var sortOrder)) - { - } + int? sortOrder = reader.IsDBNull(4) ? null : reader.GetInt32(4); personCache.Items.Add(new PeopleBaseItemMap() {