From cba16f25b9e20ed0d540541a27c999e8df01b094 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 19 May 2026 17:02:53 +0700 Subject: [PATCH] fix scoreimport --- Services/ImportBackgroundService.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Services/ImportBackgroundService.cs b/Services/ImportBackgroundService.cs index 3c54528..4d4d4bc 100644 --- a/Services/ImportBackgroundService.cs +++ b/Services/ImportBackgroundService.cs @@ -572,12 +572,16 @@ public class ImportBackgroundService : BackgroundService var rec_import_id = rec_import.Id; var rec_import_year = rec_import.Year; - var hasExistingScores = rec_import.ScoreImport != null && rec_import.ScoreImport.Scores != null; + var existingScoreImport = rec_import.ScoreImport; - if (hasExistingScores) + if (existingScoreImport != null) { - var existingScores = rec_import.ScoreImport.Scores.ToList(); - await _context.BulkDeleteAsync(existingScores); + var existingScores = existingScoreImport.Scores?.ToList() ?? new List(); + if (existingScores.Count > 0) + await _context.BulkDeleteAsync(existingScores); + // Also delete the ScoreImport row itself (has unique index on RecruitImportId) + _context.ChangeTracker.Clear(); + await _context.BulkDeleteAsync(new List { existingScoreImport }); } // Clear tracker to avoid stale references after BulkDelete (which bypasses EF tracking)