From 740d24efef2dcf340c78f8cd43725f2544260f04 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 22 May 2023 22:40:49 +0800 Subject: [PATCH] Update exp to sql --- .../SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs | 4 ++++ .../ResolveItems/MethodCallExpressionResolve_Helper.cs | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs index f9a5f9346..5b81ee52e 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs @@ -384,6 +384,10 @@ namespace SqlSugar { return (expression as ConstantExpression).Value; } + else if (expression is MethodCallExpression) + { + return LambdaExpression.Lambda(expression).Compile().DynamicInvoke(); + } else { return GetMemberValue((expression as MemberExpression).Member, expression); diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs index 8a25bab93..d6a40cc02 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs @@ -798,7 +798,9 @@ namespace SqlSugar this.Context.Parameters.RemoveAll(it => model.Args[1].MemberName.ObjToString().Contains(it.ParameterName)); List conditionalModels = (List)model.Args[1].MemberValue; var sqlObj = this.Context.SugarContext.Context.Queryable().SqlBuilder.ConditionalModelToSql(conditionalModels, 0); - model.Args[1].MemberName = sqlObj.Key; + var sql = sqlObj.Key; + UtilMethods.RepairReplicationParameters(ref sql, sqlObj.Value, 0, "_" + this.Context.ParameterIndex + "_B"); + model.Args[1].MemberName = sql; if (sqlObj.Value != null) { this.Context.Parameters.AddRange(sqlObj.Value);