MssqlRelation<TParent, TChild> class

One relation between two tables, derived from a foreign key.

Generated code declares these; nothing here is guessed at runtime.

Annotations
  • @immutable

Constructors

MssqlRelation({required String name, required MssqlRelationKind kind, required MssqlTableBinding<TChild> targetBinding, required List<String> localColumns, required List<String> foreignColumns, List<MssqlOrder> orderBy = const <MssqlOrder>[], List<MssqlCondition> where = const <MssqlCondition>[], List<MssqlRelation<TChild, Object?>> nested = const [], int? perParentLimit, int? rowLimit, MssqlIncludeStrategy strategy = MssqlIncludeStrategy.batch, MssqlScopeSelection scope = const MssqlScopeSelection.empty(), MssqlRelationThrough? through, MssqlMorph? morph})

Properties

asInclude MssqlRelation<TParent, Object?>
Same handle with the child type forgotten.
no setter
foreignColumns List<String>
Columns on the target.
final
hashCode int
The hash code for this object.
no setterinherited
isToOne bool
no setter
kind MssqlRelationKind
final
localColumns List<String>
Columns on the parent, paired positionally with foreignColumns.
final
morph MssqlMorph?
The type/id columns, for the polymorphic shapes.
final
name String
The field name on the parent row.
final
needsMorph bool
no setter
needsThrough bool
no setter
nested List<MssqlRelation<TChild, Object?>>
Relations to load one level further down.
final
orderBy List<MssqlOrder>
How to order the loaded children. Meaningless for a to-one relation.
final
perParentLimit int?
Per-parent ceiling, applied with ROW_NUMBER() OVER (PARTITION BY …).
final
rowLimit int?
A ceiling on the whole load, not per parent.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scope MssqlScopeSelection
Target (and pivot) scope selection: trash and named scopes.
final
strategy MssqlIncludeStrategy
MssqlIncludeStrategy.batch unless a to-one caller asked for a join.
final
targetBinding MssqlTableBinding<TChild>
What to read the other side out of.
final
through MssqlRelationThrough?
The middle table, for the shapes that have one.
final
where List<MssqlCondition>
Extra predicates on the target (and, for through, not on the pivot).
final

Methods

filtered(List<MssqlCondition> extra) MssqlRelation<TParent, TChild>
This relation with extra target predicates, ANDed.
joined() MssqlRelation<TParent, TChild>
Explicit to-one LEFT JOIN instead of IN (…) batching.
maxLoadedRows(int rows) MssqlRelation<TParent, TChild>
Ceiling on the whole load. Hitting it is truncated, not a short list.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyTrashed() MssqlRelation<TParent, TChild>
Target scope: only soft-deleted children.
ordered(List<MssqlOrder> terms) MssqlRelation<TParent, TChild>
This relation with an ordering.
select(List<MssqlExpression> _) MssqlRelation<TParent, TChild>
Entity include always maps a full child row. A DTO belongs on the parent query's select, not here: dropping columns would make fromRow invent nulls for fields the SELECT never returned.
takePerParent(int rows) MssqlRelation<TParent, TChild>
Per-parent limit via ROW_NUMBER() OVER (PARTITION BY fk …).
then<TNested>(MssqlRelation<TChild, TNested> relation) MssqlRelation<TParent, TChild>
This relation, then one of the target's own.
toString() String
A string representation of this object.
override
withNested(Iterable<MssqlRelation<TChild, Object?>> relations) MssqlRelation<TParent, TChild>
Nested includes of the target, merged with any already present.
withTrashed() MssqlRelation<TParent, TChild>
Target scope: include soft-deleted children.

Operators

operator ==(Object other) bool
The equality operator.
inherited