From 66c77526909e0f883c9aefdb0da6334ffb6dd38a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 28 Apr 2025 19:36:49 +0800 Subject: [PATCH] Update DbBind --- .../SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs | 4 ++++ Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec | 2 +- Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs index ab2235de9..980b85dae 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbBindProvider/DbBindAccessory.cs @@ -176,6 +176,10 @@ namespace SqlSugar { setValue = UtilMethods.ChangeType2(setValue, item.UnderType); } + else if (UtilMethods.IsParameterConverter(item)) + { + setValue = UtilMethods.QueryConverter(itemIndex,null, dataReader, entityInfo, item); + } item.PropertyInfo.SetValue(parentObj, setValue); } } diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index dae9b44fe..4eb44a04a 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.190-preview04 + 5.1.4.190-preview23 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs index 21248f1fa..9ecc2a0fb 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs @@ -193,6 +193,14 @@ namespace SqlSugar var p = ParameterConverter.Invoke(obj, new object[] { value, 100 + index }) as SugarParameter; return p; } + internal static object QueryConverter(int index, ISqlSugarClient db, IDataReader dataReader , EntityInfo entity, EntityColumnInfo columnInfo) + { + var type = columnInfo.SqlParameterDbType as Type; + var ParameterConverter = type.GetMethod("QueryConverter").MakeGenericMethod(columnInfo.PropertyInfo.PropertyType); + var obj = Activator.CreateInstance(type); + var p = ParameterConverter.Invoke(obj, new object[] { dataReader , index }); + return p; + } internal static bool IsErrorParameterName(ConnectionConfig connectionConfig,DbColumnInfo columnInfo) { return connectionConfig.MoreSettings?.IsCorrectErrorSqlParameterName == true &&