From 65f8f157f2578474a6c136e16a3e1d63e5420fe9 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 1 May 2022 21:11:30 +0800 Subject: [PATCH] Update exp to sql --- .../ResolveItems/OneToOneNavgateExpressionN.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpressionN.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpressionN.cs index bd22892da..7634ce1da 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpressionN.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToOneNavgateExpressionN.cs @@ -21,6 +21,7 @@ namespace SqlSugar public bool IsNavgate(Expression expression) { + if (this.context == null) return false; var result = false; var exp = expression; if (exp is UnaryExpression) @@ -87,13 +88,17 @@ namespace SqlSugar { var oldChildExpression = childExpression; var child2Expression = (childExpression as MemberExpression).Expression; - if (child2Expression == null) + if (child2Expression == null||(child2Expression is ConstantExpression)) { return false; } items = new List(); items.Add(new ExpressionItems() { Type=1 , Expression= memberExp, ParentEntityInfo= this.context.EntityMaintenance.GetEntityInfo(oldChildExpression.Type )}); items.Add(new ExpressionItems() { Type = 2, Expression = oldChildExpression, ThisEntityInfo=this.context.EntityMaintenance.GetEntityInfo(oldChildExpression.Type), ParentEntityInfo = this.context.EntityMaintenance.GetEntityInfo(child2Expression.Type) }); + if (items.Any(it => it.Type == 2 && it.Nav == null)) + { + return false; + } while (child2Expression != null) { if (IsClass(child2Expression))