From e395add4ca7be8f95e0681ab2cdb261378d335f4 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Thu, 21 May 2020 11:35:18 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20FreeSqlBuilder.UseExit?= =?UTF-8?q?AutoDisposePool=20=E6=96=B9=E6=B3=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql/FreeSql.xml | 8 ++++++++ FreeSql/FreeSqlBuilder.cs | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index 5e8502b0..931f82fe 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -755,6 +755,14 @@ + + + 监听 AppDomain.CurrentDomain.ProcessExit/Console.CancelKeyPress 事件自动释放连接池 + 默认值: true + + + + 转小写同步结构 diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs index 4a07cecf..05f3c979 100644 --- a/FreeSql/FreeSqlBuilder.cs +++ b/FreeSql/FreeSqlBuilder.cs @@ -22,6 +22,7 @@ namespace FreeSql bool _isNoneCommandParameter = false; bool _isGenerateCommandParameterWithLambda = false; bool _isLazyLoading = false; + bool _isExitAutoDisposePool = true; StringConvertType _entityPropertyConvertType = StringConvertType.None; NameConvertType _nameConvertType = NameConvertType.None; Action _aopCommandExecuting = null; @@ -151,6 +152,18 @@ namespace FreeSql return this; } + /// + /// 监听 AppDomain.CurrentDomain.ProcessExit/Console.CancelKeyPress 事件自动释放连接池 + /// 默认值: true + /// + /// + /// + public FreeSqlBuilder UseExitAutoDisposePool(bool value) + { + _isExitAutoDisposePool = value; + return this; + } + public IFreeSql Build() => Build(); public IFreeSql Build() { @@ -374,6 +387,9 @@ namespace FreeSql e.ModifyResult.Name = $"{schema}.{e.EntityType.Name}"; } }); + + ret.Ado.MasterPool.Policy.IsAutoDisposeWithSystem = _isExitAutoDisposePool; + ret.Ado.SlavePools.ForEach(a => a.Policy.IsAutoDisposeWithSystem = _isExitAutoDisposePool); } return ret;