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)); }
public static Expression Remove(Expression expression, ReadOnlyCollection <InExpression> inExpressions) { var visitor = new InExpressionRemover(inExpressions); return(visitor.Visit(expression)); }
public static Expression Remove(Expression expression, ReadOnlyCollection<InExpression> inExpressions) { var visitor = new InExpressionRemover(inExpressions); return visitor.Visit(expression); }