Interface IEntityMetadata
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
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
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
Properties
The mapped properties of the entity, in the order they were declared or discovered.
IReadOnlyList<IPropertyMetadata> Properties { get; }
Property Value
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
TableName
The mapped table name, or null when the entity is not table-mapped.
string? TableName { get; }