From db1b8c5cd3a2c93707c1e6bb2fce210f09779f8c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 25 May 2019 10:08:08 +0800 Subject: [PATCH] Update Exp to sql --- .../ExpressionsToSql/ResolveItems/BaseResolve.cs | 13 +++++++++++++ .../ResolveItems/UnaryExpressionResolve.cs | 2 ++ 2 files changed, 15 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs index cdb8323c1..828e883f1 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs @@ -253,6 +253,19 @@ namespace SqlSugar this.Context.Result.Replace(ExpressionConst.FormatSymbol, "NOT"); } } + protected void AppendNegate(object Value) + { + var isAppend = !this.Context.Result.Contains(ExpressionConst.FormatSymbol); + var lastCharIsSpace = this.Context.Result.LastCharIsSpace; + if (isAppend) + { + this.Context.Result.Append(lastCharIsSpace ? "-" : " -"); + } + else + { + this.Context.Result.Replace(ExpressionConst.FormatSymbol, "-"); + } + } protected MethodCallExpressionArgs GetMethodCallArgs(ExpressionParameter parameter, Expression item) { diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/UnaryExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/UnaryExpressionResolve.cs index d55941048..e1e6403f4 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/UnaryExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/UnaryExpressionResolve.cs @@ -123,6 +123,8 @@ namespace SqlSugar parameter.CommonTempData = CommonTempDataType.Append; if (nodeType == ExpressionType.Not) AppendNot(parameter.CommonTempData); + if (nodeType == ExpressionType.Negate) + AppendNegate(parameter.CommonTempData); base.Start(); parameter.BaseParameter.CommonTempData = parameter.CommonTempData; parameter.BaseParameter.ChildExpression = base.Expression;