Table of Contents

Interface IValueContainerMetadata

Namespace
MASES.EntityFrameworkCore.KNet.Serialization
Assembly
MASES.EntityFrameworkCore.KNet.Serialization.dll

Contains the metadata associated to a single data change

public interface IValueContainerMetadata

Properties

ComplexProperties

The IComplexProperty associated to EntityType

IComplexProperty[]? ComplexProperties { get; }

Property Value

IComplexProperty[]

EntityType

The IEntityType with changes

IEntityType EntityType { get; }

Property Value

IEntityType

FlattenedProperties

The flattened IProperty associated to EntityType

IProperty[] FlattenedProperties { get; }

Property Value

IProperty[]

FullFlattenedProperties

The full, unfiltered flattened IProperty set of EntityType — i.e. what EntityType.GetFlattenedProperties() returns, independent of any projection narrowing applied to FlattenedProperties. Exposed as the array itself (not just its length) so it can be reused for other purposes beyond sizing a buffer. Implementations should compute this once when the metadata instance is built (once per query for a projected/filtered metadata, once per entity type for the shared full metadata), not on every call: IValueContainer.GetData reads FullFlattenedProperties.Length once per deserialized record to size its output ValueBuffer, since flattened properties are addressed by GetIndex(), an index relative to the full flattened set regardless of any projection.

IProperty[] FullFlattenedProperties { get; }

Property Value

IProperty[]

Properties

The IProperty associated to EntityType

IProperty[] Properties { get; }

Property Value

IProperty[]