У меня была такая же проблема, и хотя ответ TechZen действительно может быть потрясающим, мне было трудно применить мою ситуацию.
В конце концов я решил проблему, связав метку с помощью контроллера, указанного в разделе «Объекты» (выделенного на изображении ниже), а затем через File Owner.
Надеюсь, это поможет.
[/g0]
Если, как и я, вы боретесь за то, чтобы работать над личным каркасом, не полностью оценив все входы и выходы, это может помочь. Я использовал эту строку, чтобы получить ссылку на пользователя:
var user = new ApplicationUser { UserName = ...
Это создает нового пользователя. То, что я должен был сделать, это использовать эту строку:
var user = UserManager.FindByEmail( ...
Затем вы можете сбросить пароль следующим образом:
string code = UserManager.GeneratePasswordResetToken(user.Id);
var result = UserManager.ResetPassword(user.Id, code, model.Password);
Обратите внимание, что проверка ошибок не выполняется.
С той же ошибкой прямо сейчас! Единственным актуальным недавним действием, которое я сделал, является обновление пакетов через NuGet:
По-прежнему все еще исследует ...
UPDATE
В моем случае я пытался создать токен подтверждения перед сохранением пользователя. Я узнал, что UserManager.GenerateEmailConfirmationTokenAsync(userID)
генерирует токен с сохраненным идентификатором, а не тот, который у вас есть в памяти.
Надеюсь, что это поможет.
CreateUser(User)
, а затем выполните свои операции с помощью токена подтверждения или паролей и т. Д.
– Mike Upjohn
12 November 2015 в 12:43
Это исключение не генерируется классом Application User
, в этом классе нет свойства с именем UserID
. (его Id
not UserId
)
Итак, в таблице Identity
есть две таблицы: столбец с UserID
IdentityRole
IdentityUserRole
Поэтому исключение возникает во вставке в этих таблицах, нет ничего плохого в ApplicationUser.Id
. Убедитесь, что существует роль с именем «Пользователь». также проверьте регистр имен i.e. "User"/"user"