Исходя из исключения, userData
- это экземпляр класса пользователя Identity, который вы обновили, но ранее вы запрашивали этого же пользователя (что приводит к добавлению в кэш объектов EF и отслеживанию изменений).Теперь вы пытаетесь изменить пароль, используя экземпляр, который вы обновили (который не отслеживается), а не экземпляр, извлеченный из базы данных (который есть).
Длинный и короткий, если высобираясь изменить сущность, вы всегда должны использовать для этого экземпляр, извлеченный из базы данных, а не тот, который вы обновили самостоятельно.Если экземпляр, который был извлечен из базы данных, присутствует в этом коде, используйте его.Если это не так, то снова вытащите его из контекста (он поступит из кеша объектов, поэтому дополнительный запрос не требуется).Затем используйте этот экземпляр для смены пароля.