Table of Contents

Interface IEntityInfo

Namespace
The.Entities
Assembly
Instagile.dll

Meta-information about an entity class, including a constructor and type recovery.

public interface IEntityInfo
Extension Methods

Properties

Attributes

Attribute properties by property name.

IReadOnlyDictionary<string, AttributeInfo> Attributes { get; }

Property Value

IReadOnlyDictionary<string, AttributeInfo>

AttributesByID

Attribute properties by model ID.

IReadOnlyDictionary<Guid, AttributeInfo> AttributesByID { get; }

Property Value

IReadOnlyDictionary<Guid, AttributeInfo>

Caption

string Caption { get; }

Property Value

string

EntityName

string EntityName { get; }

Property Value

string

EntityType

Type EntityType { get; }

Property Value

Type

HasAudit

bool HasAudit { get; }

Property Value

bool

IsAbstract

bool IsAbstract { get; }

Property Value

bool

IsReferenceData

bool IsReferenceData { get; }

Property Value

bool

IsTopLevel

bool IsTopLevel { get; }

Property Value

bool

IsTransient

bool IsTransient { get; }

Property Value

bool

ModelID

Guid ModelID { get; }

Property Value

Guid

PluralCaption

string PluralCaption { get; }

Property Value

string

PluralName

string PluralName { get; }

Property Value

string

Relationships

Relationship properties by property name.

IReadOnlyDictionary<string, RelationshipInfo> Relationships { get; }

Property Value

IReadOnlyDictionary<string, RelationshipInfo>

Sections

Display sections in display order.

IReadOnlyList<SectionInfo> Sections { get; }

Property Value

IReadOnlyList<SectionInfo>

SortAscending

bool SortAscending { get; }

Property Value

bool

SortProperty

PropertyInfo SortProperty { get; }

Property Value

PropertyInfo

Methods

Accept(IVisitor)

Passes the concrete entity type to Visit<T>().

void Accept(IVisitor visitor)

Parameters

visitor IVisitor

Accept<T>(IVisitor<T>)

Passes the concrete entity type to Visit<T>().

T Accept<T>(IVisitor<T> visitor)

Parameters

visitor IVisitor<T>

Returns

T

Type Parameters

T

ConstructEntity(IEntityContext, IEntityInitialiser)

Creates a concrete entity given a context from a framework instance and a source of row data.

IEntity ConstructEntity(IEntityContext context, IEntityInitialiser initialiser)

Parameters

context IEntityContext
initialiser IEntityInitialiser

Returns

IEntity

EstimateRowSize()

Estimates the maximum memory size in bytes a Row could occupy. Uses MaxLength for strings/blobs instead of actual values. Does not require a Row instance.

uint EstimateRowSize()

Returns

uint

Estimated maximum size in bytes

MeasureRowSize(Row)

Calculates the actual memory size in bytes of a Row instance. Includes object overhead and actual string/blob lengths.

uint MeasureRowSize(Row row)

Parameters

row Row

The Row instance to measure

Returns

uint

Size in bytes