StructuralTypeShaperExpression Class

Definition

An expression that represents creation of a structural type instance in ShaperExpression.

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

[System.Diagnostics.DebuggerDisplay("{DebuggerDisplay(),nq}")]
public class StructuralTypeShaperExpression : System.Linq.Expressions.Expression, Microsoft.EntityFrameworkCore.Query.IPrintableExpression
[<System.Diagnostics.DebuggerDisplay("{DebuggerDisplay(),nq}")>]
type StructuralTypeShaperExpression = class
    inherit Expression
    interface IPrintableExpression
Public Class StructuralTypeShaperExpression
Inherits Expression
Implements IPrintableExpression
Inheritance
StructuralTypeShaperExpression
Derived
Attributes
Implements

Remarks

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

Constructors

StructuralTypeShaperExpression(ITypeBase, Expression, Boolean)

Creates a new instance of the StructuralTypeShaperExpression class.

StructuralTypeShaperExpression(ITypeBase, Expression, Boolean, LambdaExpression)

Creates a new instance of the StructuralTypeShaperExpression class.

Properties

IsNullable

A value indicating whether this instance can be null.

MaterializationCondition

The materialization condition to use for shaping this structural type.

NodeType

Gets the node type of this Expression.

StructuralType

The entity or complex type being shaped.

Type

Gets the static type of the expression that this Expression represents.

ValueBufferExpression

The expression representing a ValueBuffer to get values from that are used to create the instance.

Methods

CreateUnableToDiscriminateExceptionExpression(ITypeBase, Expression)

Creates an expression to throw an exception when we're unable to determine the structural type to materialize based on discriminator value.

DebuggerDisplay()

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.

GenerateMaterializationCondition(ITypeBase, Boolean)

Creates an expression of Func<T,TResult> to determine which type to materialize.

MakeNullable(Boolean)

Assigns nullability for this shaper, indicating whether it can shape null instances or not.

Update(Expression)

Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible.

WithType(ITypeBase)

Changes the structural type being shaped by this shaper.

Explicit Interface Implementations

IPrintableExpression.Print(ExpressionPrinter)

Creates a printable string representation of the given expression using ExpressionPrinter.

Applies to