Class GroupingBoundary
Decides when rows belong to the same object in a spanning mapping. Derive from this type for a grouping rule that cannot use equality or a boundary method.
public abstract class GroupingBoundary
- Inheritance
-
GroupingBoundary
- Derived
- Inherited Members
- Extension Methods
Properties
CanChange
Whether a later row can ever start a new group. false folds every row into one instance.
public abstract bool CanChange { get; }
Property Value
Captures
Whether the boundary stores state captured on the group's first row.
public abstract bool Captures { get; }
Property Value
PresenceColumn
The column whose DBNull marks the group absent for a left-joined sub level, or null when none.
public virtual int? PresenceColumn { get; }
Property Value
- int?
Targets
Gets the bound values used by this boundary.
public virtual IEnumerable<(FieldInfo Field, object[] Targets)> Targets { get; }
Property Value
- IEnumerable<(FieldInfo Field, object[] Targets)>
Methods
EmitCapture(Generator)
Writes the instructions that capture a key from the first row.
public abstract void EmitCapture(Generator g)
Parameters
EmitCompare(Generator, Label)
Writes the instructions that branch to changed when a new group starts.
public abstract void EmitCompare(Generator g, Label changed)