LMS Persistence Ownership and Boundaries
Summary
Source-backed aggregate ownership and logical-versus-enforced relationship reference.
Audience
Engineering, QA, architecture, security, product, and data-governance reviewers.
Reference Content
Five relationships are enforced with required foreign keys and cascade deletion: Course-to-Module, Module-to-Lesson, Course-to-Material, LearningPath-to-ordered-link, and Assessment-to-Question. Other domain identifiers are logical references only in the model snapshot.
Course and Assessment own their configured child collections. LearningPath owns link rows, but a link's course reference has no confirmed database foreign key. Enrollment, completion, certificate, attempt, session, and trainer references are independently stored objects connected by identifiers rather than configured navigations.
No EF owned-type mapping exists. Value records use converters. There is no repository/unit-of-work wrapper beyond the scoped DbContext and no second persistence context or compatibility store.
Source References
microservices/src/training-service/Infrastructure/TrainingDbContext.csmicroservices/src/training-service/Infrastructure/Migrations/TrainingDbContextModelSnapshot.csmicroservices/src/training-service/Domain/TrainingEntities.cs
Related Articles
See Also
Keywords
- LMS database
- Training persistence
- Source-backed model
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly