diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index 1e7ecdb92..c14be7845 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -427,7 +427,7 @@ namespace OrmTest.Demo var test32 = db.Queryable().Where(it => it.Name == null ? true : false).ToList(); var test33 = db.Queryable().Where(it => SqlFunc.IIF(it.Name==null,true ,false)).ToList(); var test34 = db.Queryable().Where(it => SqlFunc.IIF(it.Name == null||1==1, true, false)).ToList(); - // var test35 = db.Queryable().Where(it => SqlFunc.IF(it.Id==1).Return(true).End(false)).ToList(); + var test35 = db.Queryable().Where(it =>it.Id==1&&SqlFunc.IF(it.Id==1).Return(true).End(false)).ToList(); } public static void Page() { diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index 4b206a5bd..77ef534d0 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -62,6 +62,10 @@ namespace SqlSugar { CaseWhenResolve caseResole = new CaseWhenResolve(express, this.Context, parameter.OppsiteExpression); var appendSql = caseResole.GetSql(); + var isRoot = contextIndex == 2&¶meter.BaseExpression==null; + if (isRoot||(parameter.BaseExpression!=null&&ExpressionTool.IsLogicOperator(parameter.BaseExpression))) { + appendSql= appendSql+"=1 "; + } if (this.Context.ResolveType.IsIn(ResolveExpressType.SelectMultiple, ResolveExpressType.SelectSingle,ResolveExpressType.Update)) { parameter.BaseParameter.CommonTempData = appendSql;