From 414efd45ad5f896d2c838a6657534c05bfdb5338 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 31 Jan 2023 19:30:20 +0800 Subject: [PATCH] Synchronization code --- .../ResolveItems/BinaryExpressionResolve.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs index f56201744..32329d23c 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs @@ -124,6 +124,14 @@ namespace SqlSugar base.ExactExpression = expression; var leftExpression = expression.Left; var rightExpression = expression.Right; + if (rightExpression is BinaryExpression + && leftExpression is BinaryExpression + && expression.NodeType.IsIn(ExpressionType.AndAlso, ExpressionType.OrElse) + && this.Context.ResolveType.IsIn(ResolveExpressType.WhereSingle, ResolveExpressType.WhereMultiple)) + { + base.Context.Result.Append($" {GetNewExpressionValue(leftExpression, this.Context.ResolveType)} {(expression.NodeType == ExpressionType.AndAlso ? " AND " : " OR ")} {GetNewExpressionValue(rightExpression, this.Context.ResolveType)} "); + return; + } if (RightIsHasValue(leftExpression, rightExpression,ExpressionTool.IsLogicOperator(expression))) { Expression trueValue = Expression.Constant(true);