From 342f3090057b1f26ddcc6da6acbaf95423f2f978 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 5 May 2022 15:54:42 +0800 Subject: [PATCH] Code optimization --- .../SugarProvider/SqlSugarCoreProvider.cs | 36 +---------------- Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarCoreProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarCoreProvider.cs index 6bd48d727..90e18a2cf 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarCoreProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarCoreProvider.cs @@ -66,40 +66,8 @@ namespace SqlSugar } private List GetCopyConfigs() { - return _configs.Select(it => new ConnectionConfig() - { - AopEvents = it.AopEvents, - ConfigId = it.ConfigId, - ConfigureExternalServices = it.ConfigureExternalServices, - ConnectionString = it.ConnectionString, - DbType = it.DbType, - IndexSuffix = it.IndexSuffix, - InitKeyType = it.InitKeyType, - IsAutoCloseConnection = it.IsAutoCloseConnection, - LanguageType = it.LanguageType, - MoreSettings = it.MoreSettings == null ? null : new ConnMoreSettings() - { - DefaultCacheDurationInSeconds = it.MoreSettings.DefaultCacheDurationInSeconds, - DisableNvarchar = it.MoreSettings.DisableNvarchar, - PgSqlIsAutoToLower = it.MoreSettings.PgSqlIsAutoToLower, - IsAutoRemoveDataCache = it.MoreSettings.IsAutoRemoveDataCache, - IsWithNoLockQuery = it.MoreSettings.IsWithNoLockQuery, - TableEnumIsString=it.MoreSettings.TableEnumIsString, - DisableMillisecond=it.MoreSettings.DisableMillisecond - }, - SqlMiddle=it.SqlMiddle==null?null:new SqlMiddle { - IsSqlMiddle=it.SqlMiddle.IsSqlMiddle, - ExecuteCommand=it.SqlMiddle.ExecuteCommand, - ExecuteCommandAsync=it.SqlMiddle.ExecuteCommandAsync, - GetDataReader=it.SqlMiddle.GetDataReader, - GetDataReaderAsync=it.SqlMiddle.GetDataReaderAsync, - GetDataSetAll=it.SqlMiddle.GetDataSetAll, - GetDataSetAllAsync=it.SqlMiddle.GetDataSetAllAsync, - GetScalar=it.SqlMiddle.GetScalar, - GetScalarAsync=it.SqlMiddle.GetScalarAsync - }, - SlaveConnectionConfigs = it.SlaveConnectionConfigs - }).ToList(); + return _configs.Select(it =>UtilMethods.CopyConfig(it)).ToList(); } + } } diff --git a/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs index 4fa83e252..609f6959e 100644 --- a/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs @@ -69,6 +69,46 @@ namespace SqlSugar return isAsync; } + + public static ConnectionConfig CopyConfig(ConnectionConfig it) + { + return new ConnectionConfig() + { + AopEvents = it.AopEvents, + ConfigId = it.ConfigId, + ConfigureExternalServices = it.ConfigureExternalServices, + ConnectionString = it.ConnectionString, + DbType = it.DbType, + IndexSuffix = it.IndexSuffix, + InitKeyType = it.InitKeyType, + IsAutoCloseConnection = it.IsAutoCloseConnection, + LanguageType = it.LanguageType, + MoreSettings = it.MoreSettings == null ? null : new ConnMoreSettings() + { + DefaultCacheDurationInSeconds = it.MoreSettings.DefaultCacheDurationInSeconds, + DisableNvarchar = it.MoreSettings.DisableNvarchar, + PgSqlIsAutoToLower = it.MoreSettings.PgSqlIsAutoToLower, + IsAutoRemoveDataCache = it.MoreSettings.IsAutoRemoveDataCache, + IsWithNoLockQuery = it.MoreSettings.IsWithNoLockQuery, + TableEnumIsString = it.MoreSettings.TableEnumIsString, + DisableMillisecond = it.MoreSettings.DisableMillisecond + }, + SqlMiddle = it.SqlMiddle == null ? null : new SqlMiddle + { + IsSqlMiddle = it.SqlMiddle.IsSqlMiddle, + ExecuteCommand = it.SqlMiddle.ExecuteCommand, + ExecuteCommandAsync = it.SqlMiddle.ExecuteCommandAsync, + GetDataReader = it.SqlMiddle.GetDataReader, + GetDataReaderAsync = it.SqlMiddle.GetDataReaderAsync, + GetDataSetAll = it.SqlMiddle.GetDataSetAll, + GetDataSetAllAsync = it.SqlMiddle.GetDataSetAllAsync, + GetScalar = it.SqlMiddle.GetScalar, + GetScalarAsync = it.SqlMiddle.GetScalarAsync + }, + SlaveConnectionConfigs = it.SlaveConnectionConfigs + }; + } + public static bool IsAsyncMethod(MethodBase method) { if (method == null)