From 0c97101845f3b580da7e6d27c48ac881e37b6029 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 21 Apr 2023 06:45:58 +0800 Subject: [PATCH] Update enum to sql --- .../ResolveItems/MethodCallExpressionResolve_Helper.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs index 704c2e8d9..ed8ae1fa7 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs @@ -279,7 +279,7 @@ namespace SqlSugar } else { - AppendModel(parameter, model, item); + AppendModel(parameter, model, item,name); } } @@ -334,7 +334,7 @@ namespace SqlSugar Check.Exception(true, "The SqlFunc.IIF(arg1,arg2,arg3) , {0} argument do not support ", item.ToString()); } } - private void AppendModel(ExpressionParameter parameter, MethodCallExpressionModel model, Expression item) + private void AppendModel(ExpressionParameter parameter, MethodCallExpressionModel model, Expression item,string name) { parameter.CommonTempData = CommonTempDataType.Result; base.Expression = item; @@ -408,6 +408,10 @@ namespace SqlSugar var parameterName = this.Context.SqlParameterKeyWord + ExpressionConst.MethodConst + this.Context.ParameterIndex; this.Context.ParameterIndex++; methodCallExpressionArgs.MemberName = parameterName; + if (name == "ToString"&&UtilMethods.GetUnderType(base.Expression.Type).IsEnum()) + { + value = value?.ToString(); + } methodCallExpressionArgs.MemberValue = value; this.Context.Parameters.Add(new SugarParameter(parameterName, value)); }