QueryCompilationContext QueryCompilationContext Class

A query compilation context. The primary data structure representing the state/components used during query compilation.

Syntax

Declaration

public class QueryCompilationContextPublic Class QueryCompilationContext

Inheritance Hierarchy

  • System.Object
    System.Object
  • QueryCompilationContext
    QueryCompilationContext

Inherited Members

ToString(),
ToString(),
Equals(Object),
Equals(Object),
Equals(Object, Object),
Equals(Object, Object),
ReferenceEquals(Object, Object),
ReferenceEquals(Object, Object),
GetHashCode(),
GetHashCode(),
GetType(),
GetType(),
MemberwiseClone()
MemberwiseClone()

Constructors summary

This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

Properties summary

Gets the type of the context./

The query has at least one Include operation.

Gets a value indicating whether this query requires a query buffer.

Gets a value indicating whether this is a tracking query.

Gets the linq operator provider.

Gets the logger.

Gets the model.

Gets the query annotations./

Gets the query source mapping.

Gets a value indicating the default configured tracking behavior.

Methods summary

Adds or updates the expression mapped to a query source.

Adds a trackable include.

Creates query model visitor.

Creates query model visitor.

Determine if the query requires a query buffer.

Determines all query sources that require materialization.

Gets all trackable includes for a given query source.

Determine whether or not a query source requires materialization.

Constructors

  • QueryCompilationContext(IModel, ILogger, IEntityQueryModelVisitorFactory, IRequiresMaterializationExpressionVisitorFactory, ILinqOperatorProvider, Type, Boolean)
    QueryCompilationContext(IModel, ILogger, IEntityQueryModelVisitorFactory, IRequiresMaterializationExpressionVisitorFactory, ILinqOperatorProvider, Type, Boolean)

    This API supports the Entity Framework Core infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases.

    public QueryCompilationContext(IModel model, ILogger logger, IEntityQueryModelVisitorFactory entityQueryModelVisitorFactory, IRequiresMaterializationExpressionVisitorFactory requiresMaterializationExpressionVisitorFactory, ILinqOperatorProvider linqOperatorProvider, Type contextType, bool trackQueryResults)Public Sub New(model As IModel, logger As ILogger, entityQueryModelVisitorFactory As IEntityQueryModelVisitorFactory, requiresMaterializationExpressionVisitorFactory As IRequiresMaterializationExpressionVisitorFactory, linqOperatorProvider As ILinqOperatorProvider, contextType As Type, trackQueryResults As Boolean)

    Parameters

Properties

  • ContextType
    ContextType

    Gets the type of the context./

    public virtual Type ContextType { get; }Public Overridable ReadOnly Property ContextType As Type

    Property Value

    • System.Type
      System.Type

      The type of the context.

  • IsIncludeQuery
    IsIncludeQuery

    The query has at least one Include operation.

    public virtual bool IsIncludeQuery { get; }Public Overridable ReadOnly Property IsIncludeQuery As Boolean

    Property Value

    • System.Boolean
      System.Boolean
  • IsQueryBufferRequired
    IsQueryBufferRequired

    Gets a value indicating whether this query requires a query buffer.

    public virtual bool IsQueryBufferRequired { get; }Public Overridable ReadOnly Property IsQueryBufferRequired As Boolean

    Property Value

    • System.Boolean
      System.Boolean

      true if this query requires a query buffer, false if not.

  • IsTrackingQuery
    IsTrackingQuery

    Gets a value indicating whether this is a tracking query.

    public virtual bool IsTrackingQuery { get; }Public Overridable ReadOnly Property IsTrackingQuery As Boolean

    Property Value

    • System.Boolean
      System.Boolean

      true if this object is a tracking query, false if not.

  • LinqOperatorProvider
    LinqOperatorProvider

    Gets the linq operator provider.

    public virtual ILinqOperatorProvider LinqOperatorProvider { get; }Public Overridable ReadOnly Property LinqOperatorProvider As ILinqOperatorProvider

    Property Value

  • Logger
    Logger

    Gets the logger.

    public virtual ILogger Logger { get; }Public Overridable ReadOnly Property Logger As ILogger

    Property Value

    • ILogger
      ILogger

      The logger.

  • Model
    Model

    Gets the model.

    public virtual IModel Model { get; }Public Overridable ReadOnly Property Model As IModel

    Property Value

  • QueryAnnotations
    QueryAnnotations

    Gets the query annotations./

    public virtual IReadOnlyCollection<IQueryAnnotation> QueryAnnotations { get; set; }Public Overridable Property QueryAnnotations As IReadOnlyCollection(Of IQueryAnnotation)

    Property Value

    • System.Collections.Generic.IReadOnlyCollection<T><IQueryAnnotation>
      System.Collections.Generic.IReadOnlyCollection<T>(Of IQueryAnnotation)

      The query annotations.

  • QuerySourceMapping
    QuerySourceMapping

    Gets the query source mapping.

    public virtual QuerySourceMapping QuerySourceMapping { get; }Public Overridable ReadOnly Property QuerySourceMapping As QuerySourceMapping

    Property Value

    • QuerySourceMapping
      QuerySourceMapping

      The query source mapping.

  • TrackQueryResults
    TrackQueryResults

    Gets a value indicating the default configured tracking behavior.

    public virtual bool TrackQueryResults { get; }Public Overridable ReadOnly Property TrackQueryResults As Boolean

    Property Value

    • System.Boolean
      System.Boolean

      true if the default is to track query results, false if not.

Methods

  • AddOrUpdateMapping(IQuerySource, Expression)
    AddOrUpdateMapping(IQuerySource, Expression)

    Adds or updates the expression mapped to a query source.

    public virtual void AddOrUpdateMapping(IQuerySource querySource, Expression expression)Public Overridable Sub AddOrUpdateMapping(querySource As IQuerySource, expression As Expression)

    Parameters

    • querySource
      IQuerySource
      IQuerySource

      The query source.

    • expression
      System.Linq.Expressions.Expression
      System.Linq.Expressions.Expression

      The expression mapped to the query source.

  • AddTrackableInclude(IQuerySource, IReadOnlyList<INavigation>)
    AddTrackableInclude(IQuerySource, IReadOnlyList(Of INavigation))

    Adds a trackable include.

    public virtual void AddTrackableInclude(IQuerySource querySource, IReadOnlyList<INavigation> navigationPath)Public Overridable Sub AddTrackableInclude(querySource As IQuerySource, navigationPath As IReadOnlyList(Of INavigation))

    Parameters

    • querySource
      IQuerySource
      IQuerySource

      The query source.

    • navigationPath
      System.Collections.Generic.IReadOnlyList<T><INavigation>
      System.Collections.Generic.IReadOnlyList<T>(Of INavigation)

      The included navigation path.

  • CreateQueryModelVisitor()
    CreateQueryModelVisitor()

    Creates query model visitor.

    public virtual EntityQueryModelVisitor CreateQueryModelVisitor()Public Overridable Function CreateQueryModelVisitor As EntityQueryModelVisitor

    Returns

  • CreateQueryModelVisitor(EntityQueryModelVisitor)
    CreateQueryModelVisitor(EntityQueryModelVisitor)

    Creates query model visitor.

    public virtual EntityQueryModelVisitor CreateQueryModelVisitor(EntityQueryModelVisitor parentEntityQueryModelVisitor)Public Overridable Function CreateQueryModelVisitor(parentEntityQueryModelVisitor As EntityQueryModelVisitor) As EntityQueryModelVisitor

    Parameters

    Returns

  • DetermineQueryBufferRequirement(QueryModel)
    DetermineQueryBufferRequirement(QueryModel)

    Determine if the query requires a query buffer.

    public virtual void DetermineQueryBufferRequirement(QueryModel queryModel)Public Overridable Sub DetermineQueryBufferRequirement(queryModel As QueryModel)

    Parameters

    • queryModel
      QueryModel
      QueryModel

      The query model.

  • FindQuerySourcesRequiringMaterialization(EntityQueryModelVisitor, QueryModel)
    FindQuerySourcesRequiringMaterialization(EntityQueryModelVisitor, QueryModel)

    Determines all query sources that require materialization.

    public virtual void FindQuerySourcesRequiringMaterialization(EntityQueryModelVisitor queryModelVisitor, QueryModel queryModel)Public Overridable Sub FindQuerySourcesRequiringMaterialization(queryModelVisitor As EntityQueryModelVisitor, queryModel As QueryModel)

    Parameters

  • GetTrackableIncludes(IQuerySource)
    GetTrackableIncludes(IQuerySource)

    Gets all trackable includes for a given query source.

    public virtual IReadOnlyList<IReadOnlyList<INavigation>> GetTrackableIncludes(IQuerySource querySource)Public Overridable Function GetTrackableIncludes(querySource As IQuerySource) As IReadOnlyList(Of IReadOnlyList(Of INavigation))

    Parameters

    • querySource
      IQuerySource
      IQuerySource

      The query source.

    Returns

    • System.Collections.Generic.IReadOnlyList<T><System.Collections.Generic.IReadOnlyList<T><INavigation>>
      System.Collections.Generic.IReadOnlyList<T>(Of System.Collections.Generic.IReadOnlyList<T>(Of INavigation))

      The trackable includes.

  • QuerySourceRequiresMaterialization(IQuerySource)
    QuerySourceRequiresMaterialization(IQuerySource)

    Determine whether or not a query source requires materialization.

    public virtual bool QuerySourceRequiresMaterialization(IQuerySource querySource)Public Overridable Function QuerySourceRequiresMaterialization(querySource As IQuerySource) As Boolean

    Parameters

    • querySource
      IQuerySource
      IQuerySource

      The query source.

    Returns

    • System.Boolean
      System.Boolean

      true if it requires materialization, false if not.

Details

Assembly

Microsoft.EntityFrameworkCore.dll