2016-09-18 4 views
1

Я пытаюсь реализовать идентификатор ASP.NET с базой данных MySql. После столкновения с некоторыми трудностями, которые, казалось, были связаны с версией Identity, которую я использовал, я обновил ее, и теперь у меня разные ошибки, с которыми я имею дело.Неизвестный столбец «Extent1.Email» в «списке полей»

Первоначально он заявил, что не смог найти таблицу XXX.aspnetusers, я обнаружил, что должен добавить приведенный ниже код, чтобы сопоставить его с тем, как таблица создается в базе данных MySql.

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) 
{ 
    base.OnModelCreating(modelBuilder); 
    modelBuilder.Entity<ApplicationUser>().ToTable("my_aspnet_users"); 
} 

Теперь, исправлена ​​ошибка, теперь я столкнулся этот вопрос:

enter image description here

Глядя на базу данных, я могу видеть, что на самом деле поле Email не будет создан, я хочу знать, почему не все поля IdentityUser добавлены?

+0

проверить, имеет ли таблица 'my_aspnet_users' столбец с именем' Extent1.Email' – Rahul

+0

Посмотрите на моей последней строке. У него этого нет. – TsiTMC

ответ

1

Вам необходимо сопоставить все свойства, как показано ниже.

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) 
{ 
    base.OnModelCreating(modelBuilder); 
    modelBuilder.Entity<ApplicationUser>().ToTable("my_aspnet_users"); 
    modelBuilder.Entity<ApplicationUser>().Property(t => t.Email).HasColumnName("Email"); 
    //map other properties too  
} 
+0

Хорошо, я вижу. Но, к сожалению, его еще не создавая столбец, – TsiTMC

+0

такая же ошибка, иначе? – Sampath

+0

Да, та же ошибка. – TsiTMC

Смежные вопросы