From 7d642b46c9ea7cd1a8a0d3b6e9fab7e29b4724af Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 10 Jul 2026 18:05:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E9=A1=B9=E7=9B=AE=E5=8F=97?= =?UTF-8?q?=E8=AF=95=E8=80=85=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrialSiteUser/TrialConfigService.cs | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index a3482c54c..aab463e19 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -34,6 +34,7 @@ namespace IRaCIS.Core.Application IRepository _readingCriterionPageRepository, IRepository _systemCriterionKeyFileRepository, IOSSService _oSSService, + IRepository _trialCriterionKeyFileRepository, IOrganInfoService _iOrganInfoService, IRepository _trialBodyPartRepository, @@ -60,29 +61,27 @@ namespace IRaCIS.Core.Application /// public async Task ReplaceSubject() { - // 查完整实体(不能只查匿名类,匿名类无实体追踪) - var trialList = await _trialRepository.AsQueryable().ToListAsync(); + // 使用 AsTracking() 确保变更追踪开启 + var trialList = await _trialRepository + .AsQueryable() + .AsTracking() // 显式启用追踪 + .ToListAsync(); - foreach (var trial in trialList) + foreach (var data in trialList) { - if (trial.TrialObjectNameList == null || !trial.TrialObjectNameList.Any()) + if (data.TrialObjectNameList == null || !data.TrialObjectNameList.Any()) continue; - foreach (var item in trial.TrialObjectNameList) + foreach (var item in data.TrialObjectNameList) { - //item.TrialName = item.TrialName - // .Replace("受试者", "试验参与者") - // .Replace("Subject", "Participant"); item.Name = item.Name .Replace("受试者", "试验参与者") .Replace("Subject", "Participant"); } + // 不调用 Update(),直接 SaveChanges } - // EF自动把List序列化为JSON字符串更新到数据库 await _trialRepository.SaveChangesAsync(); - - } ///