예제 #1
0
        private LeftJoinExpression VisitLeftJoinExpression(LeftJoinExpression leftJoinExpression)
        {
            var newTable         = (TableExpressionBase)Visit(leftJoinExpression.Table);
            var newJoinPredicate = VisitJoinPredicate((SqlBinaryExpression)leftJoinExpression.JoinPredicate);

            return(leftJoinExpression.Update(newTable, newJoinPredicate));
        }
        protected override Expression VisitLeftJoin(LeftJoinExpression leftJoinExpression)
        {
            var canOptimize = _canOptimize;

            _canOptimize = false;
            var newTable         = (TableExpressionBase)Visit(leftJoinExpression.Table);
            var newJoinPredicate = VisitJoinPredicate((SqlBinaryExpression)leftJoinExpression.JoinPredicate);

            _canOptimize = canOptimize;

            return(leftJoinExpression.Update(newTable, newJoinPredicate));
        }
예제 #3
0
        protected override Expression VisitLeftJoin(LeftJoinExpression leftJoinExpression)
        {
            var parentSearchCondition = _isSearchCondition;

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

            _isSearchCondition = true;
            var joinPredicate = (SqlExpression)Visit(leftJoinExpression.JoinPredicate);

            _isSearchCondition = parentSearchCondition;

            return(leftJoinExpression.Update(table, joinPredicate));
        }
 protected override Expression VisitLeftJoin(LeftJoinExpression x)
 {
     return(x?.Update(x.Table.VisitNode(this), x.JoinPredicate.VisitNode(this)));
 }