Data Model
xTrakt backend services use shared base entities and data access patterns to keep tenant isolation and audit behavior consistent.
Shared Principles
| Principle | Behavior |
|---|---|
| Tenant isolation | Tenant data is scoped by TenantId |
| Audit metadata | Save operations populate creator, changer, and timestamp fields |
| Soft delete | Deleted records use IsDeleted and DeletedWhen flags |
| Database naming | Database tables and columns use snake_case; C# properties use PascalCase |
Repository Expectations
Repository list and get queries must filter by tenant and exclude soft-deleted records. This is a product security requirement, not only a data access convenience.