DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.19k stars 1.32k forks source link

IsAutoRemoveDataCache相關問題 #1202

Closed Yumitoya8569 closed 8 months ago

Yumitoya8569 commented 8 months ago

問題1

當IsAutoRemoveDataCache打成true時

//...
MoreSettings = new()
{
   IsAutoRemoveDataCache = true
}
//...

Fastest相關操作不會觸發AutoRemoveDataCache

await _db.Fastest<TableA>().BulkMergeAsync(req);

問題2

調查源代碼時發現AutoRemoveDataCache的設置在CRUD的實作上都是清除全部快取 而不是依like條件清除與該表格相關的快取, 請問這部分有什麼考量嗎?

private void AutoRemoveDataCache()
{
   var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings;
   var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices;
   if (moreSetts != null && moreSetts.IsAutoRemoveDataCache && extService != null && extService.DataInfoCacheService != null)
   {
      this.RemoveDataCache();
   }
}

討論

以上問題我不確定是byDesign還是bug, 所以諮詢一下 謝謝您

DotNetNext commented 8 months ago

image

DotNetNext commented 8 months ago

支持全局重写

DotNetNext commented 8 months ago

SqlSugarCore 5.1.4.113-preview08

升级 已支持 IsAutoRemoveDataCache

Yumitoya8569 commented 8 months ago

問題1, 已確認新代碼會在End階段清除快取 問題2, 這是我誤會了, 原代碼確實有在上層類依like條件清除快取

謝謝您