Ошибка при попытке настроить профиль пользователя Identity в веб-приложении c# с - PullRequest
0 голосов
/ 06 августа 2020

У меня есть веб-приложение 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...