ShapedQueryCompilingExpressionVisitor Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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) |