Class ExtremeRowRenderColumn
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
clrTypeTypeThe CLR type of the value produced by the column. Must not be null.
isNullableboolWhether
clrTypecan holdnull.isDirectMappedColumnboolWhether the column is a direct access to a mapped entity property.
usesConverterboolWhether a value converter is attached to the mapped property.
Exceptions
- ArgumentNullException
clrTypeis 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
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
IsNullable
Whether ClrType can hold null (a reference type or a Nullable<T>).
public bool IsNullable { get; }
Property Value
UsesConverter
Whether a value converter is attached to the mapped property.
public bool UsesConverter { get; }