Review Cycle Storage
Summary
Persistence mapping for the ReviewCycle aggregate and its logical appraisal association.
Audience
Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.
Overview
ReviewCycle is a tenant-scoped aggregate root with generated identity, name and period metadata, status, optional notes, lifecycle timestamps, and an owned CyclePeriod.
Confirmed persistence behavior
- CyclePeriod is required and table-sharing through an owned mapping.
- A composite tenant-and-status index supports scoped lifecycle queries.
- A global tenant query filter is configured.
- No uniqueness constraint exists for cycle name or period.
- Appraisal stores a cycle identity and denormalized cycle name, but no EF foreign key connects Appraisal to ReviewCycle.
- Audit and timeline associate through logical entity type and textual identity rather than foreign keys.
- No persisted rating-scale reference or Workflow link exists on ReviewCycle.
Classification
Implemented aggregate storage; lifecycle phase and uniqueness policy remain incomplete.
Requires confirmation
Cycle uniqueness, retention, close cascade, phase transitions, and logical-reference enforcement require confirmation.
Diagram
Related Articles
See Also
Keywords
- Performance persistence
- Review Cycle Storage
- Draft database documentation
Source References
microservices/src/performance-service/Infrastructure/PerformanceDbContext.csmicroservices/src/performance-service/Domain/ReviewCycle/ReviewCycle.csmicroservices/src/performance-service/Infrastructure/Migrations/PerformanceDbContextModelSnapshot.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly