public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor().Visit(query); query = new CollectionJoinApplyingExpressionVisitor().Visit(query); query = new TableAliasUniquifyingExpressionVisitor().Visit(query); query = new CaseWhenFlatteningExpressionVisitor(SqlExpressionFactory).Visit(query); #pragma warning disable CS0618 // Type or member is obsolete query = OptimizeSqlExpression(query); #pragma warning restore CS0618 // Type or member is obsolete return(query); }
/// <inheritdoc /> public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor().Visit(query); query = new CollectionJoinApplyingExpressionVisitor().Visit(query); query = new TableAliasUniquifyingExpressionVisitor().Visit(query); query = new CaseSimplifyingExpressionVisitor(RelationalDependencies.SqlExpressionFactory).Visit(query); #pragma warning disable 618 query = OptimizeSqlExpression(query); #pragma warning restore 618 return(query); }
/// <inheritdoc /> public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor( ((RelationalQueryCompilationContext)QueryCompilationContext).QuerySplittingBehavior).Visit(query); #if DEBUG query = new TableAliasVerifyingExpressionVisitor().Visit(query); #endif query = new SelectExpressionPruningExpressionVisitor().Visit(query); query = new SqlExpressionSimplifyingExpressionVisitor(RelationalDependencies.SqlExpressionFactory, _useRelationalNulls) .Visit(query); query = new RelationalValueConverterCompensatingExpressionVisitor(RelationalDependencies.SqlExpressionFactory).Visit(query); return(query); }
public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor().Visit(query); query = new CollectionJoinApplyingExpressionVisitor().Visit(query); query = new TableAliasUniquifyingExpressionVisitor().Visit(query); if (!UseRelationalNulls) { query = new NullSemanticsRewritingExpressionVisitor(SqlExpressionFactory).Visit(query); } query = OptimizeSqlExpression(query); return(query); }
/// <inheritdoc /> public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor().Visit(query); query = new CollectionJoinApplyingExpressionVisitor((RelationalQueryCompilationContext)QueryCompilationContext).Visit(query); query = new TableAliasUniquifyingExpressionVisitor().Visit(query); query = new SelectExpressionPruningExpressionVisitor().Visit(query); query = new SqlExpressionSimplifyingExpressionVisitor(RelationalDependencies.SqlExpressionFactory, _useRelationalNulls).Visit(query); query = new RelationalValueConverterCompensatingExpressionVisitor(RelationalDependencies.SqlExpressionFactory).Visit(query); #pragma warning disable 618 query = OptimizeSqlExpression(query); #pragma warning restore 618 return(query); }
public override Expression Visit(Expression query) { query = base.Visit(query); query = new SelectExpressionProjectionApplyingExpressionVisitor().Visit(query); query = new CollectionJoinApplyingExpressionVisitor().Visit(query); query = new SelectExpressionTableAliasUniquifyingExpressionVisitor().Visit(query); if (!UseRelationalNulls) { query = new NullSemanticsRewritingVisitor(SqlExpressionFactory).Visit(query); } query = new SqlExpressionOptimizingVisitor(SqlExpressionFactory, UseRelationalNulls).Visit(query); query = new NullComparisonTransformingExpressionVisitor().Visit(query); return(query); }
/// <inheritdoc /> public override Expression Process(Expression query) { query = base.Process(query); query = new SelectExpressionProjectionApplyingExpressionVisitor( ((RelationalQueryCompilationContext)QueryCompilationContext).QuerySplittingBehavior).Visit(query); #if DEBUG // Verifies that all SelectExpression are marked as immutable after this point. new SelectExpressionMutableVerifyingExpressionVisitor().Visit(query); // Verifies that all table aliases are uniquely assigned without skipping over // Which points to possible mutation of a SelectExpression being used in multiple places. new TableAliasVerifyingExpressionVisitor().Visit(query); #endif query = new SelectExpressionPruningExpressionVisitor().Visit(query); query = new SqlExpressionSimplifyingExpressionVisitor(RelationalDependencies.SqlExpressionFactory, _useRelationalNulls) .Visit(query); query = new RelationalValueConverterCompensatingExpressionVisitor(RelationalDependencies.SqlExpressionFactory).Visit(query); return(query); }