Class FieldDefinitionRecord
One field of a ComponentDefinitionRecord. Mirrors DBComponentDefinition.Field but carries only what the offline Workbench needs for
schema rendering — runtime-only fields (CLR Type handles, foreign-key target types) are not serialised.
public sealed class FieldDefinitionRecord
- Inheritance
-
FieldDefinitionRecord
- Inherited Members
Constructors
FieldDefinitionRecord()
public FieldDefinitionRecord()
Properties
ArrayLength
Array length for fixed-size array fields; 0 for scalars.
public int ArrayLength { get; init; }
Property Value
FieldId
Stable field id within the component (used by index keys and tooling).
public int FieldId { get; init; }
Property Value
FieldType
Underlying field-type byte. Wire value matches Typhon.Schema.Definition.FieldType's enum ordinal.
public byte FieldType { get; init; }
Property Value
Flags
Bit flags. 0x01 HasIndex, 0x02 IndexAllowMultiple, 0x04 IsIndexAuto, 0x08 HasSpatialIndex, 0x10 IsForeignKey.
public byte Flags { get; init; }
Property Value
ForeignKeyTargetType
Foreign-key target component name (CLR full name). Empty unless Flags & 0x10.
public string ForeignKeyTargetType { get; init; }
Property Value
Name
Field name.
public string Name { get; init; }
Property Value
Offset
Byte offset of the field within the component's storage block.
public int Offset { get; init; }
Property Value
Size
Field byte size (stride × array length where applicable; otherwise stride).
public int Size { get; init; }
Property Value
SpatialCategory
Spatial category (uint.MaxValue = unset). Populated only when Flags & 0x08.
public uint SpatialCategory { get; init; }
Property Value
SpatialCellSize
Spatial cell size (units of the spatial axis). Populated only when Flags & 0x08.
public float SpatialCellSize { get; init; }
Property Value
SpatialFieldType
Spatial index parameters — populated only when Flags & 0x08. SpatialFieldType enum ordinal.
public byte SpatialFieldType { get; init; }
Property Value
SpatialMargin
Spatial margin (extra coverage). Populated only when Flags & 0x08.
public float SpatialMargin { get; init; }
Property Value
SpatialMode
Spatial mode enum ordinal. Populated only when Flags & 0x08.
public byte SpatialMode { get; init; }
Property Value
UnderlyingType
For FieldType.Collection, the element type's enum ordinal; 0 otherwise.
public byte UnderlyingType { get; init; }