From e4d13265c030f65672fb874c94a3463ff47792a8 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 15 Jan 2023 17:22:56 +0800 Subject: [PATCH] Update pgsql exp char --- .../ResolveItems/ConstantExpressionResolve.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs index f245d6385..53277fb0e 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs @@ -13,6 +13,7 @@ namespace SqlSugar var expression = base.Expression as ConstantExpression; var isLeft = parameter.IsLeft; object value = ExpressionTool.GetValue(expression.Value, this.Context); + value = ConvetValue(parameter, expression, value); if (IsEnumString(value)) value = ConvertEnum(value); var baseParameter = parameter.BaseParameter; @@ -69,6 +70,19 @@ namespace SqlSugar } } + private object ConvetValue(ExpressionParameter parameter, ConstantExpression expression, object value) + { + if (expression.Type == UtilConstants.IntType && parameter.OppsiteExpression != null &&ExpressionTool.IsUnConvertExpress(parameter.OppsiteExpression)) + { + var exp = ExpressionTool.RemoveConvert(parameter.OppsiteExpression); + if (exp.Type == typeof(char)&& value is int) { + value = Convert.ToChar(Convert.ToInt32(value)); + } + } + + return value; + } + private object ConvertEnum(object value) { if (base.BaseParameter?.OppsiteExpression is UnaryExpression)