From 105ba2a697a6adf058a23b8496d078a5ced9c317 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 27 Jun 2025 11:25:16 +0800 Subject: [PATCH] Update exp to sql --- .../MemberInitExpressionResolve.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs index 0384e5d7d..5f66b7fe3 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs @@ -55,11 +55,10 @@ namespace SqlSugar var item = memberAssignment.Expression; item = ExpressionTool.RemoveConvert(item); //Column IsJson Handler - if (memberAssignment.Member.CustomAttributes != null) - { - var customAttribute = memberAssignment.Member.GetCustomAttribute(); - - if (customAttribute?.IsJson ?? false) + if (entityMaintenance!=null) + { + EntityColumnInfo columnInfo = entityMaintenance.GetEntityInfo(type).Columns.FirstOrDefault(it => it.PropertyName == memberAssignment.Member.Name); + if (columnInfo?.IsJson ?? false) { var paramterValue = ExpressionTool.DynamicInvoke(item); var parameterName = AppendParameter(new SerializeService().SerializeObject(paramterValue)); @@ -72,6 +71,15 @@ namespace SqlSugar continue; } + else if (UtilMethods.IsParameterConverter(columnInfo)) + { + var value = ExpressionTool.DynamicInvoke(item); + var p=UtilMethods.GetParameterConverter(this.Context.ParameterIndex,this.Context.SugarContext.Context, value, memberAssignment.Expression, columnInfo); + this.Context.Result.Append(base.Context.GetEqString(memberName, p.ParameterName)); + this.Context.ParameterIndex++; + this.Context.Parameters.Add(p); + continue; + } } if ((item is MemberExpression) && ((MemberExpression)item).Expression == null)