protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            _relationalCommandBuilder.Append("CROSS APPLY ");
            Visit(crossApplyExpression.Table);

            return(crossApplyExpression);
        }
        protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            Check.NotNull(crossApplyExpression, nameof(crossApplyExpression));

            _relationalCommandBuilder.Append("CROSS APPLY ");
            Visit(crossApplyExpression.Table);

            return(crossApplyExpression);
        }
        public virtual Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            Check.NotNull(crossApplyExpression, nameof(crossApplyExpression));

            _sql.Append("CROSS APPLY ");

            Visit(crossApplyExpression.TableExpression);

            return(crossApplyExpression);
        }
Beispiel #4
0
        protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            Sql.Append("JOIN LATERAL ");

            Visit(crossApplyExpression.Table);

            Sql.Append(" ON TRUE");

            return(crossApplyExpression);
        }
        protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            var canOptimize = _canOptimize;

            _canOptimize = false;
            var table = (TableExpressionBase)Visit(crossApplyExpression.Table);

            _canOptimize = canOptimize;

            return(crossApplyExpression.Update(table));
        }
        protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            var parentSearchCondition = _isSearchCondition;

            _isSearchCondition = false;
            var table = (TableExpressionBase)Visit(crossApplyExpression.Table);

            _isSearchCondition = parentSearchCondition;

            return(crossApplyExpression.Update(table));
        }
Beispiel #7
0
 /// <summary>
 ///     Visits the children of the cross apply expression.
 /// </summary>
 /// <param name="crossApplyExpression"> 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 VisitCrossApply([NotNull] CrossApplyExpression crossApplyExpression);
Beispiel #8
0
 protected virtual Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
 => CheckSupport(crossApplyExpression, false);
Beispiel #9
0
 protected virtual Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
 => CheckSupport(crossApplyExpression, _connectionInfo.ServerVersion.SupportsCrossApply);
 protected abstract Expression VisitCrossApply(CrossApplyExpression crossApplyExpression);
Beispiel #11
0
        protected override Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)
        {
            Visit(crossApplyExpression.Table);

            return(crossApplyExpression);
        }
 protected override Expression VisitCrossApply(CrossApplyExpression x)
 {
     return(x?.Update(x.Table.VisitNode(this)));
 }