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
EntityType
The IEntityType with changes
IEntityType EntityType { get; }
Property Value
FlattenedProperties
The flattened IProperty associated to EntityType
IProperty[] FlattenedProperties { get; }
Property Value
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
Properties
The IProperty associated to EntityType
IProperty[] Properties { get; }