LiftableConstantExpression 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 node containing an expression expressing how to obtain a constant value, which may get lifted out of an expression tree.
[System.Diagnostics.CodeAnalysis.Experimental("EF9100")]
[System.Diagnostics.DebuggerDisplay("{Microsoft.EntityFrameworkCore.Query.ExpressionPrinter.Print(this), nq}")]
public class LiftableConstantExpression : System.Linq.Expressions.Expression, Microsoft.EntityFrameworkCore.Query.IPrintableExpression
[<System.Diagnostics.CodeAnalysis.Experimental("EF9100")>]
[<System.Diagnostics.DebuggerDisplay("{Microsoft.EntityFrameworkCore.Query.ExpressionPrinter.Print(this), nq}")>]
type LiftableConstantExpression = class
inherit Expression
interface IPrintableExpression
Public Class LiftableConstantExpression
Inherits Expression
Implements IPrintableExpression
- Inheritance
-
LiftableConstantExpression
- Attributes
- Implements
Remarks
When the expression tree is compiled, the constant value can simply be evaluated beforehand, and a ConstantExpression expression can directly reference the result.
When the expression tree is translated to source code instead (in query pre-compilation), the expression can be rendered out separately, to be assigned to a variable, and this node is replaced by a reference to that variable.
Constructors
LiftableConstantExpression(Object, LambdaExpression, String, Type) |
This is an experimental API used by the Entity Framework Core feature and it is 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. |
Properties
NodeType | Gets the node type of this Expression. |
OriginalExpression |
This is an experimental API used by the Entity Framework Core feature and it is 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. |
ResolverExpression |
This is an experimental API used by the Entity Framework Core feature and it is 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. |
Type | Gets the static type of the expression that this Expression represents. |
VariableName |
This is an experimental API used by the Entity Framework Core feature and it is 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. |
Methods
Print(ExpressionPrinter) |
Creates a printable string representation of the given expression using ExpressionPrinter. |
Update(LambdaExpression) |
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. |