Table of Contents

Class SqlPredicate.ExprExpr

Namespace
LinqToDB.Internal.SqlQuery
Assembly
linq2db.dll
public sealed class SqlPredicate.ExprExpr : SqlPredicate.Expr, ISqlPredicate, IQueryElement
Inheritance
SqlPredicate.ExprExpr
Implements
Inherited Members
Extension Methods

Constructors

ExprExpr(ISqlExpression, Operator, ISqlExpression, bool?, bool, bool)

public ExprExpr(ISqlExpression exp1, SqlPredicate.Operator op, ISqlExpression exp2, bool? unknownAsValue, bool notNullableExpr1 = false, bool notNullableExpr2 = false)

Parameters

exp1 ISqlExpression
op SqlPredicate.Operator
exp2 ISqlExpression
unknownAsValue bool?
notNullableExpr1 bool
notNullableExpr2 bool

Properties

ElementType

AST node type.

public override QueryElementType ElementType { get; }

Property Value

QueryElementType

Expr2

public ISqlExpression Expr2 { get; }

Property Value

ISqlExpression

NotNullableExpr1

public bool NotNullableExpr1 { get; }

Property Value

bool

NotNullableExpr2

public bool NotNullableExpr2 { get; }

Property Value

bool

Operator

public SqlPredicate.Operator Operator { get; }

Property Value

SqlPredicate.Operator

UnknownAsValue

Specify value, used as UNKNOWN value replacement on reduced predicate with UNKNOWN value erased. Replacement only applied when this property is not null.

public bool? UnknownAsValue { get; }

Property Value

bool?

Methods

CanBeUnknown(NullabilityContext, bool)

Returns true if predicate could be evaluated to UNKNOWN.

public override bool CanBeUnknown(NullabilityContext nullability, bool withoutUnknownErased)

Parameters

nullability NullabilityContext
withoutUnknownErased bool

Returns

bool

CanInvert(NullabilityContext)

public override bool CanInvert(NullabilityContext nullability)

Parameters

nullability NullabilityContext

Returns

bool

Deconstruct(out ISqlExpression, out Operator, out ISqlExpression, out bool?)

public void Deconstruct(out ISqlExpression expr1, out SqlPredicate.Operator @operator, out ISqlExpression expr2, out bool? unknownAsValue)

Parameters

expr1 ISqlExpression
operator SqlPredicate.Operator
expr2 ISqlExpression
unknownAsValue bool?

Equals(ISqlPredicate, Func<ISqlExpression, ISqlExpression, bool>)

public override bool Equals(ISqlPredicate other, Func<ISqlExpression, ISqlExpression, bool> comparer)

Parameters

other ISqlPredicate
comparer Func<ISqlExpression, ISqlExpression, bool>

Returns

bool

GetElementHashCode()

public override int GetElementHashCode()

Returns

int

Invert(NullabilityContext)

public override ISqlPredicate Invert(NullabilityContext nullability)

Parameters

nullability NullabilityContext

Returns

ISqlPredicate

InvertWithoutNull()

public ISqlPredicate InvertWithoutNull()

Returns

ISqlPredicate

Reduce(NullabilityContext, EvaluationContext, bool, LinqOptions)

Converts predicate to final form based on null comparison options.

public ISqlPredicate Reduce(NullabilityContext nullability, EvaluationContext context, bool isInsidePredicate, LinqOptions options)

Parameters

nullability NullabilityContext
context EvaluationContext
isInsidePredicate bool

Enables generation of addtional conversion of UNKNOWN to FALSE for nested predicates when non-nullable result.

options LinqOptions

Returns

ISqlPredicate

SwapOperator(Operator)

public static SqlPredicate.Operator SwapOperator(SqlPredicate.Operator op)

Parameters

op SqlPredicate.Operator

Returns

SqlPredicate.Operator

WritePredicate(QueryElementTextWriter)

protected override void WritePredicate(QueryElementTextWriter writer)

Parameters

writer QueryElementTextWriter