How msdkool/auditor works
SimpleAuditor is a small Entity Framework Core auditing library. A consumer marks DbSet properties with [Audit] and calls SaveChanges; AuditContext finds changes to marked entities, extracts property values and action details, then persists audit records with the entity changes. Consumers can override GetUserName; the default implementation attempts to read the HTTP identity. The console project is a usage sample, not a separate product workflow. Relationships reflect the sampled runtime code and README; no broader integration wiring is assumed.
Main entry points: AuditContext.cs AuditContext · AuditHelper.cs Change extractor · AttributesHelper.cs Attribute scan · AuditAttribute.cs Audit attribute
Components 12
Audit runtime
- AuditContext
Src/Auditor/Data/AuditContext.cs - Audit attribute
Src/Auditor/Helper/AuditAttribute.cs - Attribute scan
Src/Auditor/Helper/AttributesHelper.cs - Change extractor
Src/Auditor/Helper/AuditHelper.cs - Type helper
Src/Auditor/Helper/TypeHelper.cs
Audit records
- Audit trail
Src/Auditor/Entities/AuditTrail.cs - Change detail
Src/Auditor/Entities/AuditTrailDetail.cs - Change type
Src/Auditor/Enums/ChangeType.cs
Persistence and identity
- EF Core
- Application database
- HTTP identity
Other components
- Consumer app
Connections 14
- Consumer app → AuditContext: calls SaveChanges
- Consumer app → Audit attribute: marks DbSets
- AuditContext → Attribute scan: finds marked entities
- Attribute scan → Audit attribute: checks attributes
- AuditContext → EF Core: reads tracked changes
- AuditContext → Change extractor: extracts change details
- Change extractor → Type helper: checks property type
- Change extractor → Change type: sets action
- AuditContext → Audit trail: creates audit record
- Change extractor → Audit trail: fills record
- Change extractor → Change detail: creates property details
- AuditContext → HTTP identity: reads default identity
- AuditContext → EF Core: saves records
- EF Core → Application database: persists changes