Example #1
0
        protected override Expression VisitSelect(SelectExpression select)
        {
            select = (SelectExpression)base.VisitSelect(select);

            var inExpressions = InExpressionGatherer.Gather(select.Where);

            if (!inExpressions.Any())
            {
                return(select);
            }

            var newSelect = AddInnerJoins(select, inExpressions);

            return(InExpressionRemover.Remove(newSelect, inExpressions));
        }
Example #2
0
            public static Expression Remove(Expression expression, ReadOnlyCollection <InExpression> inExpressions)
            {
                var visitor = new InExpressionRemover(inExpressions);

                return(visitor.Visit(expression));
            }
Example #3
0
            public static Expression Remove(Expression expression, ReadOnlyCollection<InExpression> inExpressions)
            {
                var visitor = new InExpressionRemover(inExpressions);

                return visitor.Visit(expression);
            }