Esempio n. 1
0
    public static Expression Replace(Expression source, AliasGenerator aliasGenerator)
    {
        var aliasMap = DeclaredAliasGatherer.GatherDeclared(source).Reverse().ToDictionary(a => a, aliasGenerator.CloneAlias);

        AliasReplacer ap = new AliasReplacer(aliasMap);

        return(ap.Visit(source));
    }
Esempio n. 2
0
 protected internal override Expression VisitProjection(ProjectionExpression proj)
 {
     if (proj != root)
     {
         return(AliasReplacer.Replace(base.VisitProjection(proj), aliasGenerator));
     }
     else
     {
         return((ProjectionExpression)base.VisitProjection(proj));
     }
 }