ShapedQueryCompilingExpressionVisitor Class

Definition

A class that compiles the shaper expression for given shaped query expression.

This type is typically used by database providers (and other extensions). It is generally not used in application code.

public abstract class ShapedQueryCompilingExpressionVisitor : System.Linq.Expressions.ExpressionVisitor
type ShapedQueryCompilingExpressionVisitor = class
    inherit ExpressionVisitor
Public MustInherit Class ShapedQueryCompilingExpressionVisitor
Inherits ExpressionVisitor
Inheritance
ShapedQueryCompilingExpressionVisitor
Derived

Remarks

Materializer is a code which creates entity instance from the given property values. It takes into account constructor bindings, fields, property access mode configured in the model when creating the instance.

Shaper is a code which generate result for the query from given scalar values based on the structure of projection. A shaper can contain zero or more materializers inside it.

See Implementation of database providers and extensions and How EF Core queries work for more information and examples.

Constructors

ShapedQueryCompilingExpressionVisitor(ShapedQueryCompilingExpressionVisitorDependencies, QueryCompilationContext)

Creates a new instance of the ShapedQueryCompilingExpressionVisitor class.

Properties

Dependencies

Dependencies for this service.

IsAsync
IsBuffering
IsTracking
QueryCompilationContext

The query compilation context object for current compilation.

Methods

InjectEntityMaterializers(Expression)

Inject entity materializers in given shaper expression. StructuralTypeShaperExpression is replaced with materializer expression for given entity.

VerifyNoClientConstant(Expression)

Verifies that the given shaper expression does not contain client side constant which could cause memory leak.

VisitExtension(Expression)

Visits the children of the extension expression.

VisitShapedQuery(ShapedQueryExpression)

Visits given shaped query expression to create an expression of enumerable.

VisitShapedQueryExpression(ShapedQueryExpression)

Applies to