Update pgsql exp char

This commit is contained in:
sunkaixuan 2023-01-15 17:22:56 +08:00
parent ef9c8b9ff9
commit e4d13265c0

View File

@ -13,6 +13,7 @@ namespace SqlSugar
var expression = base.Expression as ConstantExpression; var expression = base.Expression as ConstantExpression;
var isLeft = parameter.IsLeft; var isLeft = parameter.IsLeft;
object value = ExpressionTool.GetValue(expression.Value, this.Context); object value = ExpressionTool.GetValue(expression.Value, this.Context);
value = ConvetValue(parameter, expression, value);
if (IsEnumString(value)) if (IsEnumString(value))
value = ConvertEnum(value); value = ConvertEnum(value);
var baseParameter = parameter.BaseParameter; 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) private object ConvertEnum(object value)
{ {
if (base.BaseParameter?.OppsiteExpression is UnaryExpression) if (base.BaseParameter?.OppsiteExpression is UnaryExpression)