From 8521b0c28cb62da200e50ea12fbbf49a6f4c1a92 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 20 Jun 2024 17:50:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B8=85=E7=90=86=E8=B7=9F?= =?UTF-8?q?=E8=B8=AA=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs | 2 ++ IRaCIS.Core.Infra.EFCore/Repository/Repository.cs | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs b/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs index de9cad4e7..eab56bef7 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/ICommandRepository.cs @@ -133,6 +133,8 @@ namespace IRaCIS.Core.Infra.EFCore Task> AddRangeAsync(IEnumerable entities, bool autoSave = false); Task SaveChangesAsync(CancellationToken cancellationToken = default); + + Task SaveChangesAndClearAllTrackingAsync(CancellationToken cancellationToken = default); Task DeleteAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default); diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index 32f2520c4..f9adfda52 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -449,7 +449,12 @@ namespace IRaCIS.Core.Infra.EFCore return await _dbContext.SaveChangesAsync(cancellationToken) > 0; } - + public async Task SaveChangesAndClearAllTrackingAsync(CancellationToken cancellationToken = default) + { + var count = await _dbContext.SaveChangesAsync(cancellationToken); + _dbContext.ChangeTracker.Clear(); + return count > 0; + } #endregion #region 不常用