Class NullabilityContext
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
parentContextNullabilityContextnullabilityOverridesDictionary<ISqlExpression, bool>
NullabilityContext(SelectQuery)
Creates nullability context for provided query.
public NullabilityContext(SelectQuery inQuery)
Parameters
inQuerySelectQuery
Properties
IsEmpty
[MemberNotNullWhen(false, "Queries")]
public bool IsEmpty { get; }
Property Value
JoinSource
Current Join table source. Used for excluding source from nullable sources check
public ISqlTableSource? JoinSource { get; }
Property Value
NonQuery
Context for non-select queries of places where we don't know select query.
public static NullabilityContext NonQuery { get; }
Property Value
Queries
Current context query.
public SelectQuery[] Queries { get; }
Property Value
Methods
CanBeNull(ISqlExpression)
Returns wether expression could contain null values or not.
public bool CanBeNull(ISqlExpression expression)
Parameters
expressionISqlExpression
Returns
CanBeNullSource(ISqlTableSource)
public bool? CanBeNullSource(ISqlTableSource source)
Parameters
sourceISqlTableSource
Returns
- bool?
GetContext(SelectQuery?)
Creates nullability context for provided query or empty context if query is null.
public static NullabilityContext GetContext(SelectQuery? selectQuery)
Parameters
selectQuerySelectQuery
Returns
WithJoinSource(ISqlTableSource?)
public NullabilityContext WithJoinSource(ISqlTableSource? joinSource)
Parameters
joinSourceISqlTableSource
Returns
WithQuery(SelectQuery)
public NullabilityContext WithQuery(SelectQuery inQuery)
Parameters
inQuerySelectQuery
Returns
WithTransformationInfo(IVisitorTransformationInfo?)
public NullabilityContext WithTransformationInfo(SqlQueryVisitor.IVisitorTransformationInfo? transformationInfo)
Parameters
transformationInfoSqlQueryVisitor.IVisitorTransformationInfo