Skip to main content

LMS Database Overview

Summary

Source-backed reference for the Training Service persistence architecture and its current maturity.

Audience

Engineering, QA, support, architecture, security, product, and implementation reviewers.

Reference Content

The DbContext owns 19 sets: 15 tenant domain objects, two evidence objects, one processed-event object, and one shared outbox object. All mappings are declared inline. The runtime uses EF Core with a relational provider; physical connection details and database naming are intentionally excluded.

Value records are persisted through scalar conversions for course identity/title, duration, result values, and certificate identity. Enum-like lifecycle values use strings. Selected opaque metadata uses JSON storage. The training-period value is ignored and therefore not persisted.

The model is Transitional: tenant filters, cascade ownership, uniqueness, evidence, migration, and outbox intent exist, while several logical references lack database foreign keys, processed/outbox filtering differs from domain filtering, and concurrency/production migration governance are not implemented.

Source References

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

See Also

Keywords

  • LMS database
  • Training persistence
  • Source-backed model

Revision Information

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