Table of Contents

Class ExtremeRowRenderColumn

Namespace
NextORM.Core
Assembly
nextorm.core.dll

One prepared extreme-row column as the dialect's optional IExtremeRowRenderer reasons about it. It carries only shape facts (CLR type, nullability, whether the key is a direct mapped column) and never the expression, command or build context.

public sealed record ExtremeRowRenderColumn : IEquatable<ExtremeRowRenderColumn>
Inheritance
ExtremeRowRenderColumn
Implements
Inherited Members
Extension Methods

Remarks

This is a read-only input constructed by the core and handed to an external IExtremeRowRenderer. Implementing a renderer means receiving instances through CanRender(ExtremeRowDescription). The eager constructor is part of the public contract: an external assembly without InternalsVisibleTo can construct one directly. Validation happens at construction - a null clrType throws ArgumentNullException. There is no SQL, provider, security or cardinality validation, and nothing calls CanRender(ExtremeRowDescription) or Render(ExtremeRowRenderRequest).

Constructors

ExtremeRowRenderColumn(Type, bool, bool, bool)

Creates a shape fact for one prepared extreme-row column. Exposed so an external IExtremeRowRenderer can be exercised without a host that has internals access.

public ExtremeRowRenderColumn(Type clrType, bool isNullable, bool isDirectMappedColumn, bool usesConverter)

Parameters

clrType Type

The CLR type of the value produced by the column. Must not be null.

isNullable bool

Whether clrType can hold null.

isDirectMappedColumn bool

Whether the column is a direct access to a mapped entity property.

usesConverter bool

Whether a value converter is attached to the mapped property.

Exceptions

ArgumentNullException

clrType is null.

Properties

ClrType

The CLR type of the value produced by the column (the model type of a key/group selector).

public Type ClrType { get; }

Property Value

Type

IsDirectMappedColumn

Whether the column is a direct access to a mapped entity property (no computed expression and no converter). Only such columns can participate in the initial native eligibility.

public bool IsDirectMappedColumn { get; }

Property Value

bool

IsNullable

Whether ClrType can hold null (a reference type or a Nullable<T>).

public bool IsNullable { get; }

Property Value

bool

UsesConverter

Whether a value converter is attached to the mapped property.

public bool UsesConverter { get; }

Property Value

bool