diff --git a/API/Data/Repositories/ChapterRepository.cs b/API/Data/Repositories/ChapterRepository.cs index 7fca84c23..f89304f74 100644 --- a/API/Data/Repositories/ChapterRepository.cs +++ b/API/Data/Repositories/ChapterRepository.cs @@ -94,6 +94,7 @@ public class ChapterRepository : IChapterRepository ChapterTitle = data.TitleName }) .AsNoTracking() + .AsSplitQuery() .SingleOrDefaultAsync(); return chapterInfo; diff --git a/API/Data/Repositories/SeriesRepository.cs b/API/Data/Repositories/SeriesRepository.cs index 6ae99a2d1..2395bf987 100644 --- a/API/Data/Repositories/SeriesRepository.cs +++ b/API/Data/Repositories/SeriesRepository.cs @@ -305,6 +305,7 @@ public class SeriesRepository : ISeriesRepository .Include(s => s.Metadata) .ThenInclude(m => m.People) .Where(s => s.Id == seriesId) + .AsSplitQuery() .SingleOrDefaultAsync(); } @@ -320,6 +321,7 @@ public class SeriesRepository : ISeriesRepository .Include(s => s.Metadata) .ThenInclude(m => m.CollectionTags) .Where(s => seriesIds.Contains(s.Id)) + .AsSplitQuery() .ToListAsync(); } @@ -617,6 +619,7 @@ public class SeriesRepository : ISeriesRepository .Where(t => t.SeriesMetadatas.Select(s => s.SeriesId).Contains(seriesId)) .ProjectTo(_mapper.ConfigurationProvider) .AsNoTracking() + .AsSplitQuery() .ToListAsync(); } @@ -640,6 +643,7 @@ public class SeriesRepository : ISeriesRepository .OrderBy(s => s.LibraryId) .ThenBy(s => s.SortName) .ProjectTo(_mapper.ConfigurationProvider) + .AsSplitQuery() .AsNoTracking(); return await PagedList.CreateAsync(query, userParams.PageNumber, userParams.PageSize); diff --git a/API/Data/Repositories/VolumeRepository.cs b/API/Data/Repositories/VolumeRepository.cs index 0c46bd49c..7ad025561 100644 --- a/API/Data/Repositories/VolumeRepository.cs +++ b/API/Data/Repositories/VolumeRepository.cs @@ -178,6 +178,7 @@ public class VolumeRepository : IVolumeRepository .OrderBy(volume => volume.Number) .ProjectTo(_mapper.ConfigurationProvider) .AsNoTracking() + .AsSplitQuery() .ToListAsync(); await AddVolumeModifiers(userId, volumes); diff --git a/API/Services/ArchiveService.cs b/API/Services/ArchiveService.cs index 8c1277103..616f4e9f6 100644 --- a/API/Services/ArchiveService.cs +++ b/API/Services/ArchiveService.cs @@ -57,6 +57,9 @@ namespace API.Services { if (string.IsNullOrEmpty(archivePath) || !(File.Exists(archivePath) && Parser.Parser.IsArchive(archivePath) || Parser.Parser.IsEpub(archivePath))) return ArchiveLibrary.NotSupported; + var ext = _directoryService.FileSystem.Path.GetExtension(archivePath).ToUpper(); + if (ext.Equals(".CBR") || ext.Equals(".RAR")) return ArchiveLibrary.SharpCompress; + try { using var a2 = ZipFile.OpenRead(archivePath);