From 268dff7da0f7c2398bbd03d909cab0a3dcec1cad Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Sat, 7 May 2022 16:15:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 2 +- .../Repository/ICommandRepository.cs | 2 ++ .../Repository/Repository.cs | 26 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index e9c5e06e0..7969f6488 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -367,7 +367,7 @@ namespace IRaCIS.Core.Application.Image.QA [TypeFilter(typeof(TrialResourceFilter))] public async Task CRCRequstCheckBack(Guid subjectVisitId) { - var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); + var sv = (await _subjectVisitRepository.FirstOrDefaultNoTrackingAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); if (sv.CheckState == CheckStateEnum.CVPassed) diff --git a/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs b/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs index 0154e2f6d..21eebb9b4 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs @@ -89,6 +89,8 @@ namespace IRaCIS.Core.Infra.EFCore Task FirstOrDefaultAsync(Expression> exp = null, bool ignoreQueryFilters = false); + Task FirstOrDefaultNoTrackingAsync(Expression> exp = null, bool ignoreQueryFilters = false); + Task AnyAsync(Expression> exp, bool ignoreQueryFilters = false); Task MaxAsync(Expression> selector); diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index 61dce6591..ee47c9f1c 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -1412,6 +1412,32 @@ namespace IRaCIS.Core.Infra.EFCore } + /// + /// 不跟踪 + /// + /// + /// + /// + public async Task FirstOrDefaultNoTrackingAsync(Expression> exp = null, bool ignoreQueryFilters = false) + { + + var query = _dbSet.AsNoTracking().AsQueryable(); + + if (ignoreQueryFilters) + { + query = query.IgnoreQueryFilters(); + } + + + if (exp != null) + { + query = query.Where(exp); + } + + return await query.AsNoTracking().FirstOrDefaultAsync().ConfigureAwait(false); + + } + #endregion