From 5c48b5c90e8037e9b9ea4b4c59d4e376a20590d9 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Thu, 24 Aug 2023 14:23:34 +1000 Subject: Removed EFCore lazy-loading proxies --- Services/MediaService.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'Services/MediaService.cs') diff --git a/Services/MediaService.cs b/Services/MediaService.cs index aa733c3..1fc74cd 100644 --- a/Services/MediaService.cs +++ b/Services/MediaService.cs @@ -19,14 +19,19 @@ public class MediaService : IMediaService { public void SetIngest(Media media, bool ingest) { using var db = dbFactory.CreateDbContext(); - media = db.Media.First(m => m.Guid == media.Guid); + media = db.Media + .Include(m => m.Tags) + .ThenInclude(t => t.TagDefinition) + .First(m => m.Guid == media.Guid); var ingestTag = db.TagDefinitions .First(td => td.Guid == HBContext.IngestTag); - if(ingest) - media.Tags.Add(new(ingestTag)); - else - media.Tags.RemoveAll(t => t.TagDefinition.Guid == ingestTag.Guid); + if(ingest) { + if(!media.Tags.Select(t => t.TagDefinition.Guid).Contains(HBContext.IngestTag)) + media.Tags.Add(new(ingestTag)); + } else { + media.Tags.RemoveAll(t => t.TagDefinition.Guid == HBContext.IngestTag); + } db.SaveChanges(); } -- cgit v1.3