private void UpdateInternal(T entity) { //entity.ThrowIfArgumentNull(nameof(entity)); EntityEntry entry = _context.Entry(entity); var currentState = entry.State; if (currentState == EntityState.Detached) { var existing = GetById(entity.Id); if (existing != null) { entry = _context.Entry(existing); entry.CurrentValues.SetValues(entity); } } entry.State = EntityState.Modified; }