Shaolinq.Persistence.Linq.Optimizers.SqlRedundantSubqueryRemover.VisitProjection C# (CSharp) Method

VisitProjection() protected method

protected VisitProjection ( SqlProjectionExpression projection ) : Expression
projection Shaolinq.Persistence.Linq.Expressions.SqlProjectionExpression
return System.Linq.Expressions.Expression
		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;
		}