У меня есть веб-приложение c#, в котором используется стандартная идентификация пользователя. Я пытаюсь добавить имя и фамилию в профиль пользователя Identity на странице register.aspx.
У меня в IdentityModels.cs следующее:
public class ApplicationUser : IdentityUser
{
public ClaimsIdentity GenerateUserIdentity(ApplicationUserManager manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = manager.CreateIdentity(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
public string First_Name { get; set; }
public string Last_Name { get; set; }
Я также изменил register.aspx.cs примерно так:
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>();
var user = new ApplicationUser() { UserName = Email.Text, Email = Email.Text, First_Name = First_Name.Text, Last_Name = Last_Name.Text };
IdentityResult result = manager.Create(user, Password.Text);
if (result.Succeeded)
Код не работает со следующей ошибкой при попытке выполнить IdentityResult result = manager.Create (user, Password.Text);
Invalid имя столбца "Имя". Недействительное имя столбца "Фамилия". Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее происхождении в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: недопустимое имя столбца «First_Name». Недопустимое имя столбца «Фамилия».
Ошибка источника:
Строка 17: var signInManager = Context.GetOwinContext (). Get (); Строка 18: var user = new ApplicationUser () {UserName = Email.Text, Email = Email.Text, First_Name = First_Name.Text, Last_Name = Last_Name.Text}; Строка 19: Результат IdentityResult = manager.Create (пользователь, Password.Text); Строка 20: if (result.Succeeded) Строка 21: {
Примечание. Я вручную добавил столбцы с именами First_Name и Last_Name в таблицу dbo.AspNetUsers.