mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 18:22:23 +08:00
Update mongodb
This commit is contained in:
@@ -111,6 +111,7 @@ namespace MongoDbTest
|
||||
if (x3.Count != x2.Count) Cases.ThrowUnitError();
|
||||
if (x3.First().Id != x2.First().Id) Cases.ThrowUnitError();
|
||||
if (x3.First().Bool!=true) Cases.ThrowUnitError();
|
||||
var x4 = db.Queryable<Student>().Where(it => it.Bool&&it.Bool).ToList();
|
||||
}
|
||||
|
||||
[SqlSugar.SugarTable("UnitStudent1ssss23s131")]
|
||||
|
@@ -11,9 +11,10 @@ namespace SqlSugar.MongoDb
|
||||
private BsonDocument LogicalBinaryExpression(BinaryExpression expr)
|
||||
{
|
||||
string logicOp = expr.NodeType == ExpressionType.AndAlso ? "$and" : "$or";
|
||||
|
||||
var left = new ExpressionVisitor(_context).Visit(expr.Left);
|
||||
var right = new ExpressionVisitor(_context).Visit(expr.Right);
|
||||
var leftExp = AdjustExpression(expr.Left);
|
||||
var left = new ExpressionVisitor(_context).Visit(leftExp);
|
||||
var rightExp = AdjustExpression(expr.Right);
|
||||
var right = new ExpressionVisitor(_context).Visit(rightExp);
|
||||
var isJoinByExp=base.IsJoinByExp(_context);
|
||||
if (isJoinByExp)
|
||||
{
|
||||
@@ -33,6 +34,15 @@ namespace SqlSugar.MongoDb
|
||||
return new BsonDocument { { logicOp, arr } };
|
||||
}
|
||||
|
||||
private static Expression AdjustExpression(Expression exp)
|
||||
{
|
||||
if (exp is MemberExpression m && m.Type == UtilConstants.BoolType && ExpressionTool.GetParameters(exp).Count > 0)
|
||||
{
|
||||
exp = Expression.Equal(exp, Expression.Constant(true, typeof(bool)));
|
||||
}
|
||||
return exp;
|
||||
}
|
||||
|
||||
private void AddNestedLogic(BsonArray arr, BsonValue token, string logicOp)
|
||||
{
|
||||
if (token is BsonDocument obj && obj.Contains(logicOp))
|
||||
|
Reference in New Issue
Block a user