Table of Contents

Class NullabilityContext

Namespace
LinqToDB.Internal.SqlQuery
Assembly
linq2db.dll

Provides information about expression nullability in current (sub)query context based on nullability annotations on expressions and outer joins.

public sealed class NullabilityContext
Inheritance
NullabilityContext
Inherited Members
Extension Methods

Constructors

NullabilityContext(NullabilityContext, Dictionary<ISqlExpression, bool>)

public NullabilityContext(NullabilityContext parentContext, Dictionary<ISqlExpression, bool> nullabilityOverrides)

Parameters

parentContext NullabilityContext
nullabilityOverrides Dictionary<ISqlExpression, bool>

NullabilityContext(SelectQuery)

Creates nullability context for provided query.

public NullabilityContext(SelectQuery inQuery)

Parameters

inQuery SelectQuery

Properties

IsEmpty

[MemberNotNullWhen(false, "Queries")]
public bool IsEmpty { get; }

Property Value

bool

JoinSource

Current Join table source. Used for excluding source from nullable sources check

public ISqlTableSource? JoinSource { get; }

Property Value

ISqlTableSource

NonQuery

Context for non-select queries of places where we don't know select query.

public static NullabilityContext NonQuery { get; }

Property Value

NullabilityContext

Queries

Current context query.

public SelectQuery[] Queries { get; }

Property Value

SelectQuery[]

Methods

CanBeNull(ISqlExpression)

Returns wether expression could contain null values or not.

public bool CanBeNull(ISqlExpression expression)

Parameters

expression ISqlExpression

Returns

bool

CanBeNullSource(ISqlTableSource)

public bool? CanBeNullSource(ISqlTableSource source)

Parameters

source ISqlTableSource

Returns

bool?

GetContext(SelectQuery?)

Creates nullability context for provided query or empty context if query is null.

public static NullabilityContext GetContext(SelectQuery? selectQuery)

Parameters

selectQuery SelectQuery

Returns

NullabilityContext

WithJoinSource(ISqlTableSource?)

public NullabilityContext WithJoinSource(ISqlTableSource? joinSource)

Parameters

joinSource ISqlTableSource

Returns

NullabilityContext

WithQuery(SelectQuery)

public NullabilityContext WithQuery(SelectQuery inQuery)

Parameters

inQuery SelectQuery

Returns

NullabilityContext

WithTransformationInfo(IVisitorTransformationInfo?)

public NullabilityContext WithTransformationInfo(SqlQueryVisitor.IVisitorTransformationInfo? transformationInfo)

Parameters

transformationInfo SqlQueryVisitor.IVisitorTransformationInfo

Returns

NullabilityContext