Skip to main content

LMS Enrollment Storage

Summary

Source-backed TrainingEnrollment persistence and lifecycle reference.

Audience

Engineering, QA, architecture, security, product, and data-governance reviewers.

Reference Content

Enrollment is a tenant entity containing generated identity, course and optional learning-path references, a learner subject reference, optional contact metadata, lifecycle state, assignment/start/completion timestamps, and an optional due date. Actual personal records are not reproduced.

Tenant-plus-subject-plus-course is unique, preventing duplicate assignment of one course to one subject inside a tenant. Tenant-plus-status supports lifecycle reporting. Course and path identifiers are not configured foreign keys; endpoint lookup/application behavior supplies integrity.

Assignment, start, and completion mutate one tracked enrollment and stage audit/timeline/outbox objects in the same SaveChanges call. Reads are generally no-tracking and tenant-filtered. There is no paging, history table, concurrency token, cancellation/expiry persistence operation, or authenticated ownership constraint in the database mapping.

Source References

  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/training-service/Domain/TrainingEntities.cs
  • microservices/src/training-service/Api/TrainingEndpoints.cs

See Also

Keywords

  • LMS database
  • Training persistence
  • Source-backed model

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly