Skip to main content

LMS Course Storage

Summary

Source-backed Course and Training Material persistence reference.

Audience

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

Reference Content

Course is a tenant entity with generated identifier, tenant metadata, timestamps, converted course code/title/duration values, lifecycle state, descriptive fields, and lifecycle timestamps. A tenant-plus-code unique index prevents duplicate course codes within a tenant. The common tenant index and query filter also apply.

Configured ownership cascades to modules and materials. Course deletion is not exposed by the current API, but the database model defines cascade behavior if deletion occurs through a persistence path.

Material stores type, title, optional external reference metadata, course identifier, and an optional lesson identifier. Only the course relationship is enforced. External document content is not stored in this model; the reference lifecycle is not transactionally coupled to the external service.

Course reads typically use no tracking, creation/lifecycle updates use tracked entities, and reports aggregate by lifecycle. List/export queries are not paginated.

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