protected override Expression VisitColumn(ColumnExpression column) { if (column.Alias == outerAlias) { NamedValueExpression nv; if (!map.TryGetValue(column, out nv)) { nv = new NamedValueExpression("n" + (iParam++), column); map.Add(column, nv); } return(nv); } return(column); }
protected virtual Expression VisitNamedValue(NamedValueExpression value) { return(value); }
protected virtual bool CompareNamedValue(NamedValueExpression a, NamedValueExpression b) { return(a.Name == b.Name && Compare(a.Value, b.Value)); }