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.csmicroservices/src/training-service/Domain/TrainingEntities.csmicroservices/src/training-service/training-service.csproj
Related Articles
See Also
Keywords
- LMS database
- Training persistence
- Source-backed model
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly