Update mongodb

This commit is contained in:
sunkaixuan
2025-06-29 17:02:28 +08:00
parent 4a4cbcfea5
commit 808afe07fe
5 changed files with 66 additions and 13 deletions

View File

@@ -39,6 +39,19 @@ namespace SqlSugar.MongoDb
};
newJoins.add(result);
queryBuilder.JoinQueryInfos = newJoins;
if (queryBuilder is MongoDbQueryBuilder mb)
{
var exp = joinExpression as LambdaExpression;
mb.EasyJoin = exp.Body is BinaryExpression b && b.Left is MemberExpression l && b.Right is MemberExpression r && l.Expression is ParameterExpression && r.Expression is ParameterExpression;
if (mb.EasyJoin==false)
{
mb.LastParameter = exp.Parameters.Last().Name;
mb.FirstParameter = exp.Parameters.First().Name;
mb.lets = new Dictionary<string, string>();
}
}
var expResult = queryBuilder.GetExpressionValue(joinExpression, ResolveExpressType.WhereMultiple);
queryBuilder.JoinQueryInfos = oldJoins;
result.JoinWhere = expResult.GetResultString();
@@ -48,6 +61,15 @@ namespace SqlSugar.MongoDb
{
result.ShortName = queryBuilder.Builder.GetTranslationColumnName(result.ShortName);
}
if (queryBuilder is MongoDbQueryBuilder mb2&&mb2.EasyJoin==false)
{
var lets=mb2.lets;
if (mb2.JoinQueryInfoLets == null)
{
mb2.JoinQueryInfoLets = new Dictionary<string, Dictionary<string, string>>();
}
mb2.JoinQueryInfoLets.Add(result.ShortName, mb2.lets);
}
return result;
}