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)); }