From 2043e227d7319f9aadf502904164d8d009433f73 Mon Sep 17 00:00:00 2001 From: MSuMshk <2039814060@qq.com> Date: Tue, 2 Dec 2025 12:56:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A8=B3=E5=AE=9A=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E7=A7=8D=E5=AD=90=E5=A4=96=E9=94=AE=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../App/Persistence/AppDataSeeder.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Infrastructure/TakeoutSaaS.Infrastructure/App/Persistence/AppDataSeeder.cs b/src/Infrastructure/TakeoutSaaS.Infrastructure/App/Persistence/AppDataSeeder.cs index d2926e1..4072f0c 100644 --- a/src/Infrastructure/TakeoutSaaS.Infrastructure/App/Persistence/AppDataSeeder.cs +++ b/src/Infrastructure/TakeoutSaaS.Infrastructure/App/Persistence/AppDataSeeder.cs @@ -318,6 +318,12 @@ public sealed class AppDataSeeder( long tenantId, CancellationToken cancellationToken) { + // 确保分组已持久化以获取正确的主键,避免 FK 约束报错。 + if (!dbContext.Entry(group).IsKeySet || group.Id == 0) + { + await dbContext.SaveChangesAsync(cancellationToken); + } + var materializedItems = seedItems .Where(item => !string.IsNullOrWhiteSpace(item.Key) && !string.IsNullOrWhiteSpace(item.Value)) .ToList();