Compartilhar via


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

CreateNullKeyValueInNoTrackingQuery(IEntityType, IReadOnlyList<IProperty>, Object[])

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.

InjectEntityMaterializers(Expression)

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

SingleAsync<TSource>(IAsyncEnumerable<TSource>, 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.

SingleOrDefaultAsync<TSource>(IAsyncEnumerable<TSource>, 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.

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