Class ValueContainerData
- Namespace
- MASES.EntityFrameworkCore.KNet.Serialization
- Assembly
- MASES.EntityFrameworkCore.KNet.Serialization.dll
Implementation of IValueContainerData
public record ValueContainerData : IValueContainerData, IValueContainerMetadata, IEquatable<ValueContainerData>
- Inheritance
-
ValueContainerData
- Implements
- Inherited Members
Constructors
ValueContainerData(IValueContainerMetadata, object[], object[]?)
Implementation of IValueContainerData
public ValueContainerData(IValueContainerMetadata Metadata, object[] Values, object[]? ComplexValues)
Parameters
MetadataIValueContainerMetadataThe IValueContainerMetadata containing the metadata information
Valuesobject[]The values associated to FlattenedProperties
ComplexValuesobject[]The values associated to ComplexProperties
Properties
ComplexProperties
The IComplexProperty associated to EntityType
public IComplexProperty[]? ComplexProperties { get; }
Property Value
ComplexPropertyValues
The ValueBuffer containing all indexed values of the ComplexProperties
public object?[]? ComplexPropertyValues { get; }
Property Value
- object[]
ComplexValues
The values associated to ComplexProperties
public object[]? ComplexValues { get; init; }
Property Value
- object[]
EntityType
The IEntityType with changes
public IEntityType EntityType { get; }
Property Value
FlattenedProperties
The flattened IProperty associated to EntityType
public 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.
public IProperty[] FullFlattenedProperties { get; }
Property Value
Metadata
The IValueContainerMetadata containing the metadata information
public IValueContainerMetadata Metadata { get; init; }
Property Value
Properties
The IProperty associated to EntityType
public IProperty[] Properties { get; }
Property Value
PropertyValues
The ValueBuffer containing all indexed values of the FlattenedProperties
public object?[] PropertyValues { get; }
Property Value
- object[]
Remarks
Values are indexed and the first values are associated to Properties too
Values
The values associated to FlattenedProperties
public object[] Values { get; init; }
Property Value
- object[]