Table of Contents

Class QueryCompiler

Namespace
Microsoft.EntityFrameworkCore.Query.Internal
Assembly
Microsoft.EntityFrameworkCore.dll

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public class QueryCompiler : IQueryCompiler
Inheritance
QueryCompiler
Implements
Inherited Members

Constructors

QueryCompiler(IQueryContextFactory, ICompiledQueryCache, ICompiledQueryCacheKeyGenerator, IDatabase, IDiagnosticsLogger<Query>, ICurrentDbContext, IEvaluatableExpressionFilter, IModel)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public QueryCompiler(IQueryContextFactory queryContextFactory, ICompiledQueryCache compiledQueryCache, ICompiledQueryCacheKeyGenerator compiledQueryCacheKeyGenerator, IDatabase database, IDiagnosticsLogger<DbLoggerCategory.Query> logger, ICurrentDbContext currentContext, IEvaluatableExpressionFilter evaluatableExpressionFilter, IModel model)

Parameters

queryContextFactory IQueryContextFactory
compiledQueryCache ICompiledQueryCache
compiledQueryCacheKeyGenerator ICompiledQueryCacheKeyGenerator
database IDatabase
logger IDiagnosticsLogger<DbLoggerCategory.Query>
currentContext ICurrentDbContext
evaluatableExpressionFilter IEvaluatableExpressionFilter
model IModel

Methods

CompileQueryCore<TResult>(IDatabase, Expression, IModel, bool)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Func<QueryContext, TResult> CompileQueryCore<TResult>(IDatabase database, Expression query, IModel model, bool async)

Parameters

database IDatabase
query Expression
model IModel
async bool

Returns

Func<QueryContext, TResult>

Type Parameters

TResult

CreateCompiledAsyncQuery<TResult>(Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Func<QueryContext, TResult> CreateCompiledAsyncQuery<TResult>(Expression query)

Parameters

query Expression

Returns

Func<QueryContext, TResult>

Type Parameters

TResult

CreateCompiledQuery<TResult>(Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Func<QueryContext, TResult> CreateCompiledQuery<TResult>(Expression query)

Parameters

query Expression

Returns

Func<QueryContext, TResult>

Type Parameters

TResult

ExecuteAsync<TResult>(Expression, CancellationToken)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual TResult ExecuteAsync<TResult>(Expression query, CancellationToken cancellationToken = default)

Parameters

query Expression
cancellationToken CancellationToken

Returns

TResult

Type Parameters

TResult

Execute<TResult>(Expression)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual TResult Execute<TResult>(Expression query)

Parameters

query Expression

Returns

TResult

Type Parameters

TResult

ExtractParameters(Expression, IParameterValues, IDiagnosticsLogger<Query>, bool, bool)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public virtual Expression ExtractParameters(Expression query, IParameterValues parameterValues, IDiagnosticsLogger<DbLoggerCategory.Query> logger, bool parameterize = true, bool generateContextAccessors = false)

Parameters

query Expression
parameterValues IParameterValues
logger IDiagnosticsLogger<DbLoggerCategory.Query>
parameterize bool
generateContextAccessors bool

Returns

Expression