Table of Contents

Class EqualityBoundary

Namespace
Rinku.Mapping
Assembly
Rinku.dll

A key of one or more components, each read from its column with reuse and compared by its own equality. The group changes when any component changes.

public sealed class EqualityBoundary : GroupingBoundary
Inheritance
EqualityBoundary
Inherited Members
Extension Methods

Constructors

EqualityBoundary(IReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)>)

A key of one or more components, each read from its column with reuse and compared by its own equality. The group changes when any component changes.

public EqualityBoundary(IReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)> components)

Parameters

components IReadOnlyList<(IBoundaryReader Reader, IBoundaryField Field)>

Properties

CanChange

Whether a later row can ever start a new group. false folds every row into one instance.

public override bool CanChange { get; }

Property Value

bool

Captures

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

public override 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 override int? PresenceColumn { get; }

Property Value

int?

Targets

Gets the bound values used by this boundary.

public override IEnumerable<(FieldInfo, object[])> Targets { get; }

Property Value

IEnumerable<(FieldInfo Field, object[] Targets)>

Methods

EmitCapture(Generator)

Writes the instructions that capture a key from the first row.

public override void EmitCapture(Generator g)

Parameters

g Generator

EmitCompare(Generator, Label)

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

public override void EmitCompare(Generator g, Label changed)

Parameters

g Generator
changed Label