Employee Profile Storage
Audience
Developers, QA and support engineers, data reviewers, implementation partners, solution architects, privacy reviewers and security reviewers.
Reference Content
Summary
Employee Service owns the extracted employee aggregate. The compatibility application separately stores workforce and user records, so route choice determines which model is populated.
Extracted model
Employee has an owned Employment value and eight configured child collections. Children cascade with the aggregate.
Confirmed constraints
- Employee code is unique within a tenant.
- Tenant/status and tenant/department access paths are indexed.
- Status is stored as a string.
- Tenant filters cover Employee and its tenant-owned model.
- Department, designation and manager references are logical; the Employee mapping does not configure cross-aggregate EF foreign keys for them.
Compatibility distinction
Compatibility completion creates or updates its own workforce and user records. No shared physical key, database relationship or persistence reconciler makes those records the extracted Employee aggregate.
Sensitive data
Profile, bank, document, contact and employment data require least-privilege access. Field-level encryption and data-subject lifecycle behavior are not established by the inspected mappings.
Requires confirmation
Unless explicitly confirmed above, production migration governance, rollback, reconciliation, retention, privacy, performance, concurrency and operational ownership require confirmation.
Source References
microservices/src/employee-service/Domain/Employees/Employee.csmicroservices/src/employee-service/Infrastructure/EmployeeDbContext.cs
Related Articles
See Also
Keywords
- Onboarding database
- Offboarding database
- Lifecycle persistence
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Review cycle: Quarterly