public Kunde Update(Kunde kunde) { using (AutoReservationContext context = new AutoReservationContext()) { Kunde kundeFromList = context.Kunden.SingleOrDefault(k => k.Id == kunde.Id); if (kundeFromList != default(Kunde)) { context.Entry(kundeFromList).OriginalValues["RowVersion"] = kunde.RowVersion; kundeFromList.CopyFrom(kunde); try { context.SaveChanges(); if (context.Entry(kundeFromList).State == EntityState.Unchanged) { return(context.Kunden.Include(r => r.Reservationen).SingleOrDefault(k => k.Id == kunde.Id)); } throw new DatabaseChangeException("Could not update kunde"); } catch (DbUpdateConcurrencyException) { throw CreateOptimisticConcurrencyException(context, kundeFromList); } } throw new EntityNotFoundException($"Could not find kunde with id {kunde.Id}"); } }