From 53270fbcd1be229fe40a2160da0d389d628cfb57 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 21 Jul 2025 17:17:18 +0800 Subject: [PATCH] Update mongodb --- Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs | 2 ++ .../VisitorItems/MethodCallExpressionTractor.cs | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs index e7eb80186..36eda82a0 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/QueryWhere.cs @@ -40,6 +40,8 @@ namespace MongoDbTest var data=db.Queryable().Where(it => it.Id == pks.Last()).Select(it => it.Name).Single(); var data2 = db.Queryable().Where(it => it.Id == pks.Last()).Select(it => it.Name).First(); if (data!="jack"||data2!="jack") Cases.ThrowUnitError(); + var data3 = db.Queryable().Where(it => it.Name.Equals("jack")).Select(it => it.Name).First(); + if (data3 != "jack") Cases.ThrowUnitError(); } private static void FilterStudentsByBool(SqlSugar.SqlSugarClient db) diff --git a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs index 89c2f15cb..030b35747 100644 --- a/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs +++ b/Src/Asp.NetCore2/SqlSugar.MongoDbCore/ExpToSql/VisitorItems/MethodCallExpressionTractor.cs @@ -5,7 +5,7 @@ using System.Linq.Expressions; using System.Text; using System.Linq; using static Dm.net.buffer.ByteArrayBuffer; -using System.Collections; +using System.Collections; namespace SqlSugar.MongoDb { public class MethodCallExpressionTractor @@ -55,6 +55,16 @@ namespace SqlSugar.MongoDb var value = context.GetType().GetMethod(name).Invoke(context, new object[] { model }); result = UtilMethods.MyCreate(value?.ToString()); } + else if (name.StartsWith(nameof(SqlFunc.Equals))) + { + + var left = model.DataObject; + var right = model.Args[0].MemberValue; + var exp = Expression.Equal(left as Expression, right as Expression); + var resultValue = new ExpressionVisitor(_context, new ExpressionVisitorContext()).Visit(exp); + result = new ExpressionVisitor(_context,new ExpressionVisitorContext()).Visit(exp); + return result; + } else { var methodInfo = context.GetType().GetMethod(name);