diff --git a/Services/ImportBackgroundService.cs b/Services/ImportBackgroundService.cs index 0d3de83..6143171 100644 --- a/Services/ImportBackgroundService.cs +++ b/Services/ImportBackgroundService.cs @@ -598,8 +598,12 @@ public class ImportBackgroundService : BackgroundService // Save ScoreImport parent first to get its Id rec_import.ScoreImport = imported; await _context.SaveChangesAsync(); + var scoreImportId = imported.Id; _context.ChangeTracker.Clear(); + // Re-attach ScoreImport reference to avoid FK issues during bulk insert + var importRef = _context.Attach(new ScoreImport { Id = scoreImportId }).Entity; + // preload recruits (lightweight - only ExamId) var recruitsDict = await _context.Recruits .Where(x => x.RecruitImport.Id == rec_import.Id) @@ -669,7 +673,7 @@ public class ImportBackgroundService : BackgroundService r.LastUpdatedAt = DateTime.Now; r.LastUpdateUserId = job.UserId ?? ""; r.LastUpdateFullName = job.FullName ?? "System Administrator"; - r.ScoreImport = imported; + r.ScoreImport = importRef; batchScores.Add(r); }