Код: Выделить всё
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();
}
- Использование HttpContext.Items чтобы сохранить информацию о пользователе, внедрив IHttpContextAccessor и получив информацию из
(В данном случае DbContext зависит от HttpContext, это
Код: Выделить всё
HttpContext.Items
правильно?) - Использование объекта ThreadStatic вместо HttpContext.Items code> и получение информации от объекта(я читал некоторые сообщения
о том, что ThreadStatic небезопасен)
Подробнее здесь: https://stackoverflow.com/questions/364 ... g-net-core