Code: Select all
public override int SaveChanges()
{
// find all changed entities which is ICreateAuditedEntity
var addedAuditedEntities = ChangeTracker.Entries()
.Where(p => p.State == EntityState.Added)
.Select(p => p.Entity);
var now = DateTime.Now;
foreach (var added in addedAuditedEntities)
{
added.CreatedAt = now;
added.CreatedBy = ?;
added.CreatedByDepartment = ?
}
return base.SaveChanges();
}
- Verwenden von HttpContext.Items um Benutzerinformationen zu behalten, IHttpContextAccessor einzufügen und Informationen von
abzurufen(In diesem Fall hängt DbContext von HttpContext ab, ist esCode: Select all
HttpContext.Items
korrekt?) - Verwenden des ThreadStatic-Objekts anstelle von HttpContext.Items und Informationen vom Objekt abrufen (ich habe einige Beiträge gelesen
dass ThreadStatic nicht sicher ist)