public static Expression Replace(Expression proj, AliasGenerator aliasGenerator)
 {
     AliasProjectionReplacer apr = new AliasProjectionReplacer()
     {
         aliasGenerator = aliasGenerator,
         root = proj as ProjectionExpression,
     };
     return apr.Visit(proj);
 }
        public static Expression Replace(Expression proj, AliasGenerator aliasGenerator)
        {
            AliasProjectionReplacer apr = new AliasProjectionReplacer(
                root:  proj as ProjectionExpression,
                aliasGenerator: aliasGenerator
                );

            return(apr.Visit(proj));
        }
 public static Expression Replace(Expression proj, AliasGenerator aliasGenerator)
 {
     AliasProjectionReplacer apr = new AliasProjectionReplacer()
     {
         aliasGenerator = aliasGenerator,
         root = proj as ProjectionExpression,
     };
     return apr.Visit(proj);
 }