Table of Contents

Interface IEntityMetadata

Namespace
NextORM.Core
Assembly
nextorm.core.dll

Read-only mapping metadata for an entity type: the mapped table and its properties.

public interface IEntityMetadata
Extension Methods

Remarks

Renamed from IEntityMeta (formerly inconsistent with EntityMetadataBuilder<T>). See docs/specs/design/API-NAMING-REVIEW.md finding P1-11.

Properties

DynamicColumnsStore

The property that receives the entity's unmapped columns when a row is read, or null when the entity has none. Declared with DynamicColumnsAttribute or DynamicColumnsStore(). The store is excluded from Properties; use this member to reach it. The default implementation returns null so existing external implementations keep compiling.

IPropertyMetadata? DynamicColumnsStore { get; }

Property Value

IPropertyMetadata

Filters

The global query filters declared for the entity, in declaration order; empty when none are declared. The default implementation returns an empty list so existing external implementations keep compiling.

IReadOnlyList<IQueryFilterMetadata> Filters { get; }

Property Value

IReadOnlyList<IQueryFilterMetadata>

IsTableNameAuto

Whether TableName was derived from the CLR type name rather than declared with an attribute or a fluent mapping. An active INamingConvention is applied only to auto names. The default implementation returns false (treat an unknown mapping as declared) so existing external implementations keep compiling.

bool IsTableNameAuto { get; }

Property Value

bool

Properties

The mapped properties of the entity, in the order they were declared or discovered.

IReadOnlyList<IPropertyMetadata> Properties { get; }

Property Value

IReadOnlyList<IPropertyMetadata>

Relationships

The navigation relationships declared for the entity, in declaration order; empty when none are declared. A property that participates in a declared relationship is excluded from Properties and is reachable only through this list. The default implementation returns an empty list so existing external implementations keep compiling.

IReadOnlyList<IRelationshipMetadata> Relationships { get; }

Property Value

IReadOnlyList<IRelationshipMetadata>

TableName

The mapped table name, or null when the entity is not table-mapped.

string? TableName { get; }

Property Value

string