我正在尝试使用MySql数据库实现ASP.NET标识。遇到一些困难,这似乎与我使用的身份版本有关,我更新了它,现在我遇到了不同的错误。
最初它说它找不到XXX.aspnetusers表,我发现我应该添加下面的代码来将它映射到如何在MySql数据库中创建表。
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("my_aspnet_users");
}
现在修复了错误,现在我正面临这个问题:
查看数据库,我可以看到确实没有创建Email字段,我想知道为什么不添加所有IdentityUser字段?
答案 0 :(得分: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
}