Queryable AS(TableName).LeftJoinIF

This commit is contained in:
sunkaixuan
2025-03-10 14:36:02 +08:00
parent 69254b9fc1
commit 3291791e50

View File

@@ -211,19 +211,23 @@ namespace SqlSugar
} }
public ISugarQueryable<T, T2> LeftJoinIF<T2>(bool isLeftJoin, Expression<Func<T, T2, bool>> joinExpression) public ISugarQueryable<T, T2> LeftJoinIF<T2>(bool isLeftJoin, Expression<Func<T, T2, bool>> joinExpression)
{ {
var oldAsName = this.QueryBuilder.AsTables?.ToDictionary(it=>it.Key,it=>it.Value);
var result = LeftJoin(joinExpression); var result = LeftJoin(joinExpression);
if (isLeftJoin == false) if (isLeftJoin == false)
{ {
result.QueryBuilder.JoinQueryInfos.Remove(result.QueryBuilder.JoinQueryInfos.Last()); result.QueryBuilder.JoinQueryInfos.Remove(result.QueryBuilder.JoinQueryInfos.Last());
result.QueryBuilder.AsTables = oldAsName;
} }
return result; return result;
} }
public ISugarQueryable<T, T2> InnerJoinIF<T2>(bool isJoin, Expression<Func<T, T2, bool>> joinExpression) public ISugarQueryable<T, T2> InnerJoinIF<T2>(bool isJoin, Expression<Func<T, T2, bool>> joinExpression)
{ {
var oldAsName = this.QueryBuilder.AsTables?.ToDictionary(it => it.Key, it => it.Value);
var result = InnerJoin(joinExpression); var result = InnerJoin(joinExpression);
if (isJoin == false) if (isJoin == false)
{ {
result.QueryBuilder.JoinQueryInfos.Remove(result.QueryBuilder.JoinQueryInfos.Last()); result.QueryBuilder.JoinQueryInfos.Remove(result.QueryBuilder.JoinQueryInfos.Last());
result.QueryBuilder.AsTables = oldAsName;
} }
return result; return result;
} }