From 265ad0f933de17eddf4c7c49e112bdafcaff33e6 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 26 Apr 2019 19:53:51 +0800 Subject: [PATCH] Update exp tosql --- .../SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs | 5 +++++ .../ResolveItems/MethodCallExpressionResolve.cs | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs index f9bcf07e5..b13165c84 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs @@ -255,5 +255,10 @@ namespace SqlSugar { return !IsEntity(type); } + + public static bool IsUnConvertExpress(Expression item) + { + return item is UnaryExpression && item.NodeType == ExpressionType.Convert; + } } } diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index 435214d42..84d4acf39 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -297,6 +297,10 @@ namespace SqlSugar private void AppendItem(ExpressionParameter parameter, string name, IEnumerable args, MethodCallExpressionModel model, Expression item) { + if (ExpressionTool.IsUnConvertExpress(item)) + { + item = (item as UnaryExpression).Operand; + } var isBinaryExpression = item is BinaryExpression || item is MethodCallExpression; var isConst = item is ConstantExpression; var isIIF = name == "IIF"; @@ -343,6 +347,8 @@ namespace SqlSugar AppendModel(parameter, model, item); } } + + private void AppendModelByIIFMember(ExpressionParameter parameter, MethodCallExpressionModel model, Expression item) { parameter.CommonTempData = CommonTempDataType.Result;