Skip to content

Support for Fluent Types in Tables #4

@LieselThuriot

Description

@LieselThuriot

Background:
Currently, TableStorage allows handling multiple types in blobs using a custom serializer, but table entities don't support this natively. This limits flexibility and type safety when storing heterogeneous entities within the same table.

Proposal:
Instead of creating a new tableset type, introduce three new types in a new project to enable fluent typing in tables:

  1. FluentTableEntity<T..TX>

    • Stores multiple types in a single table using a $type field to differentiate entity types.
  2. FluentPartitionTableEntity<T..TX>

    • Partition key is set as the $type value, further optimizing queries by type.
  3. FluentRowKeyTableEntity<T..TX>

    • Row key is set as the $type value, supporting table designs requiring type-based row identification.

Benefits:

  • Flexible handling of multiple entity types per table
  • Leverages existing custom serialization approaches
  • Simplifies partitioning and querying by type

Action Items:

  • Design and implement FluentTableEntity<T..TX>, FluentPartitionTableEntity<T..TX>, and FluentRowKeyTableEntity<T..TX>
  • Document usage patterns and migration strategies
  • Add tests and example scenarios for each new type

Label: enhancement

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions