internal ProjectionExpression(SelectExpression source, Expression projector) : base((ExpressionType)DbExpressionType.Projection, projector.Type) { Source = source; Projector = projector; }
public Expression Remove(SelectExpression outerSelect, params SelectExpression[] selectsToRemove) { return(Remove(outerSelect, (IEnumerable <SelectExpression>)selectsToRemove)); }
public Expression Remove(SelectExpression outerSelect, IEnumerable <SelectExpression> selectsToRemove) { _selectsToRemove = new HashSet <SelectExpression>(selectsToRemove); _map = selectsToRemove.ToDictionary(d => d.Alias, d => d.Columns.ToDictionary(d2 => d2.Name, d2 => d2.Expression)); return(Visit(outerSelect)); }
protected override Expression VisitSelect(SelectExpression select) { this.aliases.Add(select.Alias); return(select); }