Дополнительная информация о пользователе Asp.net, такая как электронная почта и т. д.

Я использую новую идентификацию ASP.NET. Я добавил некоторую дополнительную информацию о пользователе, такую ​​как электронная почта, мобильный телефон и т. д., но во время создания пользователя я получаю следующее исключение:

Произошла ошибка при выполнении определения команды. Подробности смотрите во внутреннем исключении.

Внутреннее исключение:

{"Недопустимое имя столбца "Дискриминатор".\r\nНедопустимое имя столбца "Имя".\r\nНедопустимое имя столбца "Фамилия".\r\nНедопустимое имя столбца "Дата рождения".\r\nНедопустимое имя столбца "Возраст".\ r\nНедопустимое имя столбца "Мобильный"."}

Код:

AccountController

            var user = new ApplicationUser()
            {
                UserName = model.Email,
                DateOfBirth = model.DateOfBirth,
                FirstName = model.FirstName,
                LastName = model.LastName,
                Mobile = model.Mobile,
                Age = model.Age
            };

            var result = UserManager.Create(user, model.Password); //exception

Model:

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime DateOfBirth { get; set; }
    public int Age { get; set; }
    public string Mobile { get; set; }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    { }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<ApplicationUser>().Property(p => p.DateOfBirth).HasColumnType("datetime2");

        base.OnModelCreating(modelBuilder);
    }
}

Что я делаю неправильно ??


person user1740381    schedule 05.12.2013    source источник
comment
Проверьте, в какую таблицу вставлены ваши значения, и она совпадает со значениями ваших проходов.   -  person Nitin Varpe    schedule 05.12.2013
comment
Как выглядит ваша модель просмотра? Где вылетает ошибка? Когда?   -  person stink    schedule 05.12.2013


Ответы (1)


Отображает несоответствие в модели кода и базе данных.

Перед запуском приложения убедитесь, что вы перенесли изменения. Используйте следующие команды надлежащим образом.

  • Добавление-миграция
  • Обновление базы данных

Также не забудьте предоставить соответствующую стратегию миграции базы данных в начале. Например,

Database.SetInitializer<ApplicationDbContext>(new System.Data.Entity.MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());

person jd4u    schedule 05.12.2013