diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-08-24 14:23:34 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-08-24 14:23:34 +1000 |
| commit | 5c48b5c90e8037e9b9ea4b4c59d4e376a20590d9 (patch) | |
| tree | 706382ff2bf1d8710723b8196a8c5124f7dd9e80 /Services/MediaService.cs | |
| parent | 56e3e6072146e0d0d5fb7c098baced157c592998 (diff) | |
Removed EFCore lazy-loading proxies
Diffstat (limited to 'Services/MediaService.cs')
| -rw-r--r-- | Services/MediaService.cs | 15 |
1 files changed, 10 insertions, 5 deletions
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(); } |
