diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs index 312ca9186..ec58e1ccc 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve_Helper.cs @@ -156,7 +156,7 @@ namespace SqlSugar }; model.Args.Add(methodCallExpressionArgs); } - else if (isFirst && isIIF && isIFFBoolMember&& (item as MemberExpression)?.Member?.Name=="HasValue") + else if (isFirst && isIIF && isIFFBoolMember && (item as MemberExpression)?.Member?.Name == "HasValue") { var value = base.GetNewExpressionValue(item); var methodCallExpressionArgs = new MethodCallExpressionArgs() @@ -167,9 +167,9 @@ namespace SqlSugar }; model.Args.Add(methodCallExpressionArgs); } - else if (name!=null && name != "MappingColumn" && !name.StartsWith("Row") &&ExpressionTool.GetMethodName(item)== "Format" && ExpressionTool.GetParameters(item).Count==0) + else if (name != null && name != "MappingColumn" && !name.StartsWith("Row") && ExpressionTool.GetMethodName(item) == "Format" && ExpressionTool.GetParameters(item).Count == 0) { - var value = ExpressionTool.DynamicInvoke(item); + var value = ExpressionTool.DynamicInvoke(item); var p = AppendParameter(value); var methodCallExpressionArgs = new MethodCallExpressionArgs() { @@ -265,6 +265,31 @@ namespace SqlSugar { model.Args.Add(GetMethodCallArgs(parameter, (item as MemberExpression).Expression)); } + else if (isBoolValue && isIIF && item is MemberExpression&&ExpressionTool.GetParameters(item).Count()==0) + { + var expValue = GetNewExpressionValue(item); + expValue = this.Context.DbMehtods.Equals(new MethodCallExpressionModel() + { + Name = "Equals", + Args = new List() + { + new MethodCallExpressionArgs(){ + IsMember=true, + MemberName=expValue + }, + new MethodCallExpressionArgs(){ + IsMember=true, + MemberName= Context.DbMehtods.TrueValue() + } + } + }); + model.Args.Add(new MethodCallExpressionArgs() + { + IsMember = false, + MemberName = expValue, + MemberValue = expValue + }); + } else if (isBoolValue && isIIF && item is MemberExpression) { var argItem = GetMethodCallArgs(parameter, (item as MemberExpression).Expression); @@ -277,7 +302,7 @@ namespace SqlSugar } model.Args.Add(argItem); } - else if (name.IsIn("ListAny","ListAll") && item is LambdaExpression) + else if (name.IsIn("ListAny", "ListAll") && item is LambdaExpression) { var sql = GetNewExpressionValue(item, ResolveExpressType.WhereMultiple); var lamExp = (item as LambdaExpression); diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index ea60dce1d..66e3dafb5 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.138-preview07 + 5.1.4.138-preview09 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html