From 75ebcad60333e0e1f71d1f6edd449c65d49d729a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 8 May 2023 21:35:41 +0800 Subject: [PATCH] Synchronization code --- .../ResolveItems/MemberExpressionResolve.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs index 45e34def7..9fb156454 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs @@ -47,6 +47,11 @@ namespace SqlSugar { ResolveCallValue(parameter, baseParameter, expression, isLeft, isSetTempData, isSingle); } + else if (isValue & IsNavValue(expression)) + { + expression = expression.Expression as MemberExpression; + ResolveMemberValue(parameter, baseParameter, expression, isLeft, isSetTempData); + } else if (isValue) { ResolveValue(parameter, baseParameter, expression, isLeft, isSetTempData, isSingle); @@ -77,7 +82,15 @@ namespace SqlSugar } } + + #region Navigate + private static bool IsNavValue(MemberExpression expression) + { + var isDateMember = expression.Type == UtilConstants.DateType && expression.Expression is MemberExpression; + return isDateMember && + (expression.Expression as MemberExpression)?.Expression is MemberExpression; + } private void DefaultOneToOneN(ExpressionParameter parameter, ExpressionParameter baseParameter, bool? isLeft, bool isSetTempData, OneToOneNavgateExpressionN navN) { var value = navN.GetMemberSql();