예제 #1
0
 internal ProjectionExpression(SelectExpression source, Expression projector) : base((ExpressionType)DbExpressionType.Projection, projector.Type)
 {
     Source    = source;
     Projector = projector;
 }
예제 #2
0
 public Expression Remove(SelectExpression outerSelect, params SelectExpression[] selectsToRemove)
 {
     return(Remove(outerSelect, (IEnumerable <SelectExpression>)selectsToRemove));
 }
예제 #3
0
 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));
 }
예제 #4
0
 protected override Expression VisitSelect(SelectExpression select)
 {
     this.aliases.Add(select.Alias);
     return(select);
 }