diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs index 19cad43c8..2a76312f1 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs @@ -69,6 +69,20 @@ namespace SqlSugar parameter.Context.Result.Append(this.Context.GetAsString2(asName, GetNewExpressionValue(childExpression))); return; } + else if (ExpressionTool.GetMethodName(item) == "IsNull" + && this.Context.SingleTableNameSubqueryShortName == null + && this.BaseParameter?.CurrentExpression is NewExpression + && (item as MethodCallExpression)?.Arguments?.FirstOrDefault() is MethodCallExpression + && item?.ToString()?.Contains("Join") == true + && ExpressionTool.GetParameters(this.BaseParameter?.CurrentExpression).Count() > 1) + { + var ps = ExpressionTool.GetParameters(this.BaseParameter?.CurrentExpression); + this.Expression = item; + this.Start(); + parameter.Context.Result.Append(this.Context.GetAsString2(asName, parameter.CommonTempData.ObjToString())); + this.Context.SingleTableNameSubqueryShortName = ps.FirstOrDefault().Name; + return; + } this.Expression = item; this.Start(); if (ExpressionTool.GetMethodName(item) == "MappingColumn") diff --git a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec index 2545245e9..2bc7e772d 100644 --- a/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.1.4.128 + 5.1.4.129-preview02 sunkaixuan 果糖大数据科技 http://www.apache.org/licenses/LICENSE-2.0.html