Skip to content

Commit 88bb16e

Browse files
authored
Merge pull request #114 from koenbeuk/issue/110
Derived from QueryCompiler base class
2 parents d8339c7 + 6b02afc commit 88bb16e

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/EntityFrameworkCore.Projectables/Infrastructure/Internal/CustomQueryCompiler.cs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,38 @@
77
using System.Threading.Tasks;
88
using System.Transactions;
99
using EntityFrameworkCore.Projectables.Services;
10+
using Microsoft.EntityFrameworkCore;
11+
using Microsoft.EntityFrameworkCore.Diagnostics;
12+
using Microsoft.EntityFrameworkCore.Infrastructure;
13+
using Microsoft.EntityFrameworkCore.Metadata;
1014
using Microsoft.EntityFrameworkCore.Query;
1115
using Microsoft.EntityFrameworkCore.Query.Internal;
16+
using Microsoft.EntityFrameworkCore.Storage;
1217

1318
namespace EntityFrameworkCore.Projectables.Infrastructure.Internal
1419
{
20+
/// <summary>
21+
/// Foo
22+
/// </summary>
1523
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "EF1001:Internal EF Core API usage.", Justification = "Needed")]
16-
public sealed class CustomQueryCompiler : IQueryCompiler
24+
public sealed class CustomQueryCompiler : QueryCompiler
1725
{
1826
readonly IQueryCompiler _decoratedQueryCompiler;
1927
readonly ProjectableExpressionReplacer _projectableExpressionReplacer;
2028

21-
public CustomQueryCompiler(IQueryCompiler decoratedQueryCompiler)
29+
public CustomQueryCompiler(IQueryCompiler decoratedQueryCompiler, IQueryContextFactory queryContextFactory, ICompiledQueryCache compiledQueryCache, ICompiledQueryCacheKeyGenerator compiledQueryCacheKeyGenerator, IDatabase database, IDiagnosticsLogger<DbLoggerCategory.Query> logger, ICurrentDbContext currentContext, IEvaluatableExpressionFilter evaluatableExpressionFilter, IModel model) : base(queryContextFactory, compiledQueryCache, compiledQueryCacheKeyGenerator, database, logger, currentContext, evaluatableExpressionFilter, model)
2230
{
2331
_decoratedQueryCompiler = decoratedQueryCompiler;
2432
_projectableExpressionReplacer = new ProjectableExpressionReplacer(new ProjectionExpressionResolver());
2533
}
2634

27-
public Func<QueryContext, TResult> CreateCompiledAsyncQuery<TResult>(Expression query)
35+
public override Func<QueryContext, TResult> CreateCompiledAsyncQuery<TResult>(Expression query)
2836
=> _decoratedQueryCompiler.CreateCompiledAsyncQuery<TResult>(Expand(query));
29-
public Func<QueryContext, TResult> CreateCompiledQuery<TResult>(Expression query)
37+
public override Func<QueryContext, TResult> CreateCompiledQuery<TResult>(Expression query)
3038
=> _decoratedQueryCompiler.CreateCompiledQuery<TResult>(Expand(query));
31-
public TResult Execute<TResult>(Expression query)
39+
public override TResult Execute<TResult>(Expression query)
3240
=> _decoratedQueryCompiler.Execute<TResult>(Expand(query));
33-
public TResult ExecuteAsync<TResult>(Expression query, CancellationToken cancellationToken)
41+
public override TResult ExecuteAsync<TResult>(Expression query, CancellationToken cancellationToken)
3442
=> _decoratedQueryCompiler.ExecuteAsync<TResult>(Expand(query), cancellationToken);
3543

3644
Expression Expand(Expression expression)

0 commit comments

Comments
 (0)