Fixed bug where Limited compatbility mode would not properly cascade

This commit is contained in:
Koen Bekkenutte
2021-06-04 04:45:17 +08:00
parent bbc2d9abe1
commit 3ea1f0da40
@@ -22,19 +22,21 @@ namespace EntityFrameworkCore.Projectables.Infrastructure.Internal
}
public QueryTranslationPreprocessor Create(QueryCompilationContext queryCompilationContext)
=> new CustomQueryTranslationPreprocessor(_queryTranslationPreprocessorDependencies, queryCompilationContext, _projectableExpressionReplacer);
=> new CustomQueryTranslationPreprocessor(_decoratedFactory.Create(queryCompilationContext), _queryTranslationPreprocessorDependencies, queryCompilationContext, _projectableExpressionReplacer);
}
public class CustomQueryTranslationPreprocessor : QueryTranslationPreprocessor
{
readonly QueryTranslationPreprocessor _decoratedPreprocessor;
readonly ProjectableExpressionReplacer _projectableExpressionReplacer;
public CustomQueryTranslationPreprocessor(QueryTranslationPreprocessorDependencies dependencies, QueryCompilationContext queryCompilationContext, ProjectableExpressionReplacer projectableExpressionReplacer) : base(dependencies, queryCompilationContext)
public CustomQueryTranslationPreprocessor(QueryTranslationPreprocessor decoratedPreprocessor, QueryTranslationPreprocessorDependencies dependencies, QueryCompilationContext queryCompilationContext, ProjectableExpressionReplacer projectableExpressionReplacer) : base(dependencies, queryCompilationContext)
{
_decoratedPreprocessor = decoratedPreprocessor;
_projectableExpressionReplacer = projectableExpressionReplacer;
}
public override Expression Process(Expression query)
=> base.Process(_projectableExpressionReplacer.Visit(query));
=> _decoratedPreprocessor.Process(_projectableExpressionReplacer.Visit(query));
}
}