From c8946cb193e3923ede55918ef507298886d65dce Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 15 Aug 2025 11:51:35 +0800 Subject: [PATCH] Update mongodb --- .../ExpToSql/VisitorItems/MethodCallExpressionTractor.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs index 2ec95e5f6..ced9fc3b6 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs @@ -143,6 +143,7 @@ namespace SqlSugar.MongoDb var memberExpression = methodCallExpression.Arguments[0] as MemberExpression; var lambdaExpression = methodCallExpression.Arguments[1] as LambdaExpression; + var firstParameterName = lambdaExpression.Parameters.FirstOrDefault().Name; // 获取集合字段名 var collectionField = MongoNestedTranslator.TranslateNoFieldName( @@ -160,7 +161,11 @@ namespace SqlSugar.MongoDb // 左右表达式 var left = binaryExpr.Left; var right = binaryExpr.Right; - + if (ExpressionTool.GetParameters(right).Any(s => s.Name == firstParameterName)) + { + left = binaryExpr.Right; + right = binaryExpr.Left; + } // 判断左侧是否为子对象属性,右侧是否为主对象属性 string leftField = MongoNestedTranslator.TranslateNoFieldName(left, _context, new ExpressionVisitorContext { IsText = true })?.ToString(); string rightField = MongoNestedTranslator.TranslateNoFieldName(right, _context, new ExpressionVisitorContext { IsText = true })?.ToString();