Home → Documentation → Foundation → Contracts
Foundation defines the contracts implemented by generated code and consumed by Runtime.
Examples include:
IMetadataProvider
IPlannerRegistry
IEntityMaterializer
IEntityDematerializer
Runtime depends only upon these abstractions.
Planning primitives describe work that Runtime will execute.
Examples include:
QueryPlan
MutationPlan
Projection
Selection
JoinPlan
GraphPlan
Planning primitives are immutable.
Foundation defines strongly typed identifiers for generated artifacts.
Typical identifiers include:
EntityId
StorageEntityId
ModelId
FieldId
ColumnId
GraphId
Identifiers should be deterministic and generated at compile time.
Primitives represent reusable framework concepts.
Examples:
SortDirection
FilterOperation
JoinType
RelationshipKind
MutationOperation
Primitives should remain stable over time.
| ← Previous: Metadata | Next: Components → |