diff --git a/API/Schema/Jobs/DownloadAvailableChaptersJob.cs b/API/Schema/Jobs/DownloadAvailableChaptersJob.cs index e4d2eed..c6cfd8f 100644 --- a/API/Schema/Jobs/DownloadAvailableChaptersJob.cs +++ b/API/Schema/Jobs/DownloadAvailableChaptersJob.cs @@ -36,6 +36,7 @@ public class DownloadAvailableChaptersJob : Job protected override IEnumerable RunInternal(PgsqlContext context) { + context.Entry(Manga).Reference(m => m.Library).Load(); return Manga.Chapters.Where(c => c.Downloaded == false).Select(chapter => new DownloadSingleChapterJob(chapter, this)); } } \ No newline at end of file diff --git a/API/Schema/Jobs/MoveMangaLibraryJob.cs b/API/Schema/Jobs/MoveMangaLibraryJob.cs index 365ee1f..18f5437 100644 --- a/API/Schema/Jobs/MoveMangaLibraryJob.cs +++ b/API/Schema/Jobs/MoveMangaLibraryJob.cs @@ -42,6 +42,8 @@ public class MoveMangaLibraryJob : Job protected override IEnumerable RunInternal(PgsqlContext context) { + context.Entry(Manga).Collection(m => m.Chapters).Load(); + context.Entry(Manga).Reference(m => m.Library).Load(); Dictionary oldPath = Manga.Chapters.ToDictionary(c => c, c => c.FullArchiveFilePath); Manga.Library = ToLibrary; try diff --git a/API/Schema/Jobs/RetrieveChaptersJob.cs b/API/Schema/Jobs/RetrieveChaptersJob.cs index 49f6db9..5d943a4 100644 --- a/API/Schema/Jobs/RetrieveChaptersJob.cs +++ b/API/Schema/Jobs/RetrieveChaptersJob.cs @@ -40,6 +40,7 @@ public class RetrieveChaptersJob : Job protected override IEnumerable RunInternal(PgsqlContext context) { + context.Entry(Manga).Collection(m => m.Chapters).Load(); // This gets all chapters that are not downloaded Chapter[] allChapters = Manga.MangaConnector.GetChapters(Manga, Language).DistinctBy(c => c.ChapterId).ToArray(); Chapter[] newChapters = allChapters.Where(chapter => Manga.Chapters.Contains(chapter) == false).ToArray(); @@ -47,7 +48,8 @@ public class RetrieveChaptersJob : Job try { - context.Chapters.AddRange(newChapters); + foreach (Chapter newChapter in newChapters) + Manga.Chapters.Add(newChapter); context.SaveChanges(); } catch (DbUpdateException e) diff --git a/API/Schema/Jobs/UpdateChaptersDownloadedJob.cs b/API/Schema/Jobs/UpdateChaptersDownloadedJob.cs index 41228ea..b05d874 100644 --- a/API/Schema/Jobs/UpdateChaptersDownloadedJob.cs +++ b/API/Schema/Jobs/UpdateChaptersDownloadedJob.cs @@ -36,6 +36,7 @@ public class UpdateChaptersDownloadedJob : Job protected override IEnumerable RunInternal(PgsqlContext context) { + context.Entry(Manga).Collection(m => m.Chapters).Load(); return Manga.Chapters.Select(c => new UpdateSingleChapterDownloadedJob(c, this)); } } \ No newline at end of file diff --git a/API/Schema/Jobs/UpdateSingleChapterDownloadedJob.cs b/API/Schema/Jobs/UpdateSingleChapterDownloadedJob.cs index 8ff69bf..55bcec4 100644 --- a/API/Schema/Jobs/UpdateSingleChapterDownloadedJob.cs +++ b/API/Schema/Jobs/UpdateSingleChapterDownloadedJob.cs @@ -37,6 +37,8 @@ public class UpdateSingleChapterDownloadedJob : Job protected override IEnumerable RunInternal(PgsqlContext context) { + context.Entry(Chapter).Reference(c => c.ParentManga).Load(); + context.Entry(Chapter.ParentManga).Reference(m => m.Library).Load(); Chapter.Downloaded = Chapter.CheckDownloaded(); try