From 84ad8056948ad4643ba6eef3b58272cdb1b6a0dd Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 20 Dec 2023 18:32:35 +0800 Subject: [PATCH] update exp to sql --- .../ResolveItems/BaseResolve_Item.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs index 19cad43c8..1e71b63f4 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Item.cs @@ -69,6 +69,19 @@ 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?.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")