public async void GenerateLink(string email, int empId, string personalEmail) { PasswordReset passReset; passReset = _passwordResetService.GetObjUsingOfficialEmail(email); _passwordResetService.Remove(passReset); await _unitOfWork.Complete(); //_passwordResetService.Update(passReset); We do not need this line because while generating a new email, a new record is entered _passwordResetService.GenerateAndSendEmail(personalEmail, email); }