public virtual void Update(T entity) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } try { _context.Entry(entity).State = EntityState.Modified; _context.SaveChanges(); } catch (DbUpdateException exception) { //ensure that the detailed error text is saved in the Log throw new Exception(GetFullErrorTextAndRollbackEntityChanges(exception), exception); } }