From 22101c82800fb66885fa9201c91321e69ce09a00 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Tue, 5 Aug 2025 22:39:39 +0800 Subject: [PATCH] :bug: Fix poll cache --- DysonNetwork.Sphere/Poll/Poll.cs | 2 +- DysonNetwork.Sphere/Poll/PollService.cs | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/DysonNetwork.Sphere/Poll/Poll.cs b/DysonNetwork.Sphere/Poll/Poll.cs index aef88b0..a45ed70 100644 --- a/DysonNetwork.Sphere/Poll/Poll.cs +++ b/DysonNetwork.Sphere/Poll/Poll.cs @@ -17,7 +17,7 @@ public class Poll : ModelBase public Instant? EndedAt { get; set; } public Guid PublisherId { get; set; } - public Publisher.Publisher Publisher { get; set; } = null!; + [JsonIgnore] public Publisher.Publisher? Publisher { get; set; } } public enum PollQuestionType diff --git a/DysonNetwork.Sphere/Poll/PollService.cs b/DysonNetwork.Sphere/Poll/PollService.cs index cd813cd..3cf2467 100644 --- a/DysonNetwork.Sphere/Poll/PollService.cs +++ b/DysonNetwork.Sphere/Poll/PollService.cs @@ -43,12 +43,13 @@ public class PollService(AppDatabase db, ICacheService cache) var poll = await db.Polls .Where(e => e.Id == id) .Include(e => e.Questions) + .AsNoTracking() .FirstOrDefaultAsync(); - if (poll is not null) - { - await cache.SetAsync(cacheKey, poll, TimeSpan.FromMinutes(30)); - } + if (poll is null) return null; + + poll.Publisher = null; + await cache.SetAsync(cacheKey, poll, TimeSpan.FromMinutes(30)); return poll; }