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
IQueryContextFactorycompiledQueryCache
ICompiledQueryCachecompiledQueryCacheKeyGenerator
ICompiledQueryCacheKeyGeneratordatabase
IDatabaselogger
IDiagnosticsLogger<DbLoggerCategory.Query>currentContext
ICurrentDbContextevaluatableExpressionFilter
IEvaluatableExpressionFiltermodel
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
IDatabasequery
Expressionmodel
IModelasync
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
ExpressioncancellationToken
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
ExpressionparameterValues
IParameterValueslogger
IDiagnosticsLogger<DbLoggerCategory.Query>parameterize
boolgenerateContextAccessors
bool