Explorar o código

Fixed storage of Person images

JPVenson hai 6 meses
pai
achega
6b371ba04f

+ 1 - 8
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -2917,8 +2917,6 @@ namespace Emby.Server.Implementations.Library
 
         private async Task SavePeopleMetadataAsync(IEnumerable<PersonInfo> people, CancellationToken cancellationToken)
         {
-            List<BaseItem>? personsToSave = null;
-
             foreach (var person in people)
             {
                 cancellationToken.ThrowIfCancellationRequested();
@@ -2968,15 +2966,10 @@ namespace Emby.Server.Implementations.Library
 
                 if (saveEntity)
                 {
-                    (personsToSave ??= new()).Add(personEntity);
+                    CreateItems([personEntity], null, CancellationToken.None);
                     await RunMetadataSavers(personEntity, itemUpdateType).ConfigureAwait(false);
                 }
             }
-
-            if (personsToSave is not null)
-            {
-                CreateItems(personsToSave, null, CancellationToken.None);
-            }
         }
 
         private void StartScanInBackground()

+ 7 - 5
Jellyfin.Server.Implementations/Item/BaseItemRepository.cs

@@ -1339,11 +1339,13 @@ public sealed class BaseItemRepository(
         }
 
         using var context = dbProvider.CreateDbContext();
-        var item = context.BaseItems
-            .Include(e => e.TrailerTypes)
-            .Include(e => e.Provider)
-            .Include(e => e.Images)
-            .Include(e => e.LockedFields).AsNoTracking().AsSingleQuery().FirstOrDefault(e => e.Id == id);
+        var item = PrepareItemQuery(context, new()
+        {
+            DtoOptions = new()
+            {
+                EnableImages = true
+            }
+        }).FirstOrDefault(e => e.Id == id);
         if (item is null)
         {
             return null;