Table of Contents

Class GroupingBoundary

Namespace
Rinku.Mapping
Assembly
Rinku.dll

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

bool

Captures

Whether the boundary stores state captured on the group's first row.

public abstract bool Captures { get; }

Property Value

bool

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

g Generator

EmitCompare(Generator, Label)

Writes the instructions that branch to changed when a new group starts.

public abstract void EmitCompare(Generator g, Label changed)

Parameters

g Generator
changed Label