public async override Task <ClientResponse> Update(int id, ClientUpdateRequest request) { var entity = await _context.Clients .Include(i => i.Person) .ThenInclude(i => i.Account) .Where(i => i.ID == id) .SingleOrDefaultAsync(); if (entity != null) { _context.Attach(entity); _context.Update(entity); _mapper.Map(request, entity); _mapper.Map(request, entity.Person); _mapper.Map(request, entity.Person.Account); await _context.SaveChangesAsync(); } return(_mapper.Map <ClientResponse>(entity)); }