protected override Expression VisitProjection(SqlProjectionExpression projection)
{
projection = (SqlProjectionExpression)base.VisitProjection(projection);
if (projection.Select.From is SqlSelectExpression)
{
var redundantQueries = SqlRedundantSubqueryFinder.Find(projection.Select);
if (redundantQueries != null)
{
projection = SubqueryRemover.Remove(projection, redundantQueries);
}
}
return projection;
}