Keys and Relationships
Audience
Developers, QA and support engineers, data reviewers, implementation partners, solution architects, privacy reviewers and security reviewers.
Reference Content
Summary
Every selected extracted object has a configured primary key. Relationship enforcement is strongest within aggregates and intentionally absent across services.
Relationship matrix
| Relationship | Enforcement |
|---|---|
| Candidate to stage history | Configured child; cascade |
| Offer to letters/revisions/approvals | Configured children; cascade |
| Employee to eight detail collections | Configured children; cascade |
| Asset to assignment history | Configured child; cascade |
| Onboarding to candidate/offer/employee | Logical identifiers |
| Employee to department/designation/manager | Logical identifiers |
| Exit request to workforce/user | Compatibility identifiers; controller-managed |
| Local projection to upstream Employee | Cross-service logical identifier |
Topology
Deletion behavior
Confirmed configured children cascade with Candidate, Offer, Employee and Asset aggregates. Cross-aggregate and cross-context cleanup is not database-cascaded. Production deletion, anonymization and historical preservation policy require confirmation.
Compatibility identifiers
Compatibility-facing identifiers are unique where mappings confirm uniqueness. They are integration aids, not proof that parallel extracted and compatibility records represent the same lifecycle instance.
Requires confirmation
Unless explicitly confirmed above, production migration governance, rollback, reconciliation, retention, privacy, performance, concurrency and operational ownership require confirmation.
Source References
microservices/src/recruitment-service/Infrastructure/RecruitmentDbContext.csmicroservices/src/employee-service/Infrastructure/EmployeeDbContext.csData/AppDbContext.cs
Related Articles
See Also
Keywords
- Onboarding database
- Offboarding database
- Lifecycle persistence
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly