SQL Server requires sub-queries containing ORDER BY to use TOP (sigh)
Inheritance: SqlExpressionVisitor
        protected override Expression PreProcess(Expression expression)
        {
            expression = SqlServerSubqueryOrderByFixer.Fix(expression);
            expression = SqlServerLimitAmender.Amend(expression);
            expression = SqlServerBooleanNormalizer.Normalize(expression);
            expression = SqlServerDateTimeFunctionsAmender.Amend(expression);

            return(base.PreProcess(expression));
        }
示例#2
0
        protected override Expression PreProcess(Expression expression)
        {
            expression = SqlServerIdentityInsertAndUpdateAmender.Amend(this.typeDescriptorProvider, expression);
            expression = SqlServerSubqueryOrderByFixer.Fix(expression);
            expression = SqlServerLimitAmender.Amend(expression);
            expression = SqlServerBooleanNormalizer.Normalize(expression);
            expression = SqlServerDateTimeFunctionsAmender.Amend(expression);
            expression = SqlServerUniqueNullIndexAnsiComplianceFixer.Fix(expression);

            return(base.PreProcess(expression));
        }
        protected override Expression PreProcess(Expression expression)
        {
            expression = SqlServerClusteredIndexNormalizer.Normalize(expression);
            expression = SqlServerIdentityInsertAndUpdateAmender.Amend(this.typeDescriptorProvider, expression);
            expression = SqlServerSubqueryOrderByFixer.Fix(expression);
            expression = SqlServerLimitAmender.Amend(expression);
            expression = SqlServerUniqueNullIndexAnsiComplianceFixer.Fix(this.typeDescriptorProvider, expression, this.contextInfo.UniqueNullIndexAnsiComplianceFixerClassicBehaviour, this.contextInfo.ExplicitIndexConditionOverridesNullAnsiCompliance);
            expression = SqlServerDateTimeFunctionsAmender.Amend(expression);
            expression = SqlServerAggregateTypeFixer.Fix(expression);
            expression = SqlServerBooleanNormalizer.Normalize(expression);

            return(base.PreProcess(expression));
        }