mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 02:29:39 +08:00
Update mongodb
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user