private InnerJoinExpression VisitInnerJoinExpression(InnerJoinExpression innerJoinExpression) { var newTable = (TableExpressionBase)Visit(innerJoinExpression.Table); var newJoinPredicate = VisitJoinPredicate((SqlBinaryExpression)innerJoinExpression.JoinPredicate); return(innerJoinExpression.Update(newTable, newJoinPredicate)); }
public override Statement EmitStatement(EmitMode mode) { InnerJoinExpression expression = new InnerJoinExpression(); expression.LeftExpression = (Expression)Nodes[0].EmitStatement(mode); expression.RightExpression = (Expression)Nodes[1].EmitStatement(mode); expression.Modifiers = Modifiers; return(expression); }
protected override Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression) { _relationalCommandBuilder.Append("INNER JOIN "); Visit(innerJoinExpression.Table); _relationalCommandBuilder.Append(" ON "); Visit(innerJoinExpression.JoinPredicate); return(innerJoinExpression); }
protected override Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression) { var canOptimize = _canOptimize; _canOptimize = false; var newTable = (TableExpressionBase)Visit(innerJoinExpression.Table); var newJoinPredicate = VisitJoinPredicate((SqlBinaryExpression)innerJoinExpression.JoinPredicate); _canOptimize = canOptimize; return(innerJoinExpression.Update(newTable, newJoinPredicate)); }
public virtual Expression VisitInnerJoinExpression(InnerJoinExpression innerJoinExpression) { _sql.Append("INNER JOIN ") .Append(DelimitIdentifier(innerJoinExpression.Table)) .Append(" AS ") .Append(innerJoinExpression.Alias) .Append(" ON "); VisitExpression(innerJoinExpression.Predicate); return(innerJoinExpression); }
protected override Expression VisitExtension(Expression extensionExpression) { Check.NotNull(extensionExpression, nameof(extensionExpression)); return(extensionExpression switch { ShapedQueryExpression shapedQueryExpression => VisitShapedQueryExpression(shapedQueryExpression), CaseExpression caseExpression => VisitCase(caseExpression), SelectExpression selectExpression => VisitSelect(selectExpression), InnerJoinExpression innerJoinExpression => VisitInnerJoin(innerJoinExpression), LeftJoinExpression leftJoinExpression => VisitLeftJoin(leftJoinExpression), _ => base.VisitExtension(extensionExpression), });
public virtual Expression VisitInnerJoinExpression(InnerJoinExpression innerJoinExpression) { Check.NotNull(innerJoinExpression, "innerJoinExpression"); _sql.Append("INNER JOIN "); VisitExpression(innerJoinExpression.TableExpression); _sql.Append(" ON "); VisitExpression(innerJoinExpression.Predicate); return(innerJoinExpression); }
protected override Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression) { var parentSearchCondition = _isSearchCondition; _isSearchCondition = false; var table = (TableExpressionBase)Visit(innerJoinExpression.Table); _isSearchCondition = true; var joinPredicate = (SqlExpression)Visit(innerJoinExpression.JoinPredicate); _isSearchCondition = parentSearchCondition; return(innerJoinExpression.Update(table, joinPredicate)); }
public virtual Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression) { Check.NotNull(innerJoinExpression, nameof(innerJoinExpression)); _relationalCommandBuilder.Append("INNER JOIN "); Visit(innerJoinExpression.TableExpression); _relationalCommandBuilder.Append(" ON "); Visit(innerJoinExpression.Predicate); return(innerJoinExpression); }
/// <summary> /// Visits the children of the inner join expression. /// </summary> /// <param name="innerJoinExpression"> The expression to visit. </param> /// <returns> The modified expression, if it or any subexpression was modified; otherwise, returns the original expression. </returns> protected abstract Expression VisitInnerJoin([NotNull] InnerJoinExpression innerJoinExpression);
protected abstract Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression);
protected override Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression) { Visit(innerJoinExpression.Table); Visit(innerJoinExpression.JoinPredicate); return(innerJoinExpression); }
protected override Expression VisitInnerJoin(InnerJoinExpression x) { return(x?.Update(x.Table.VisitNode(this), x.JoinPredicate.VisitNode(this))); }