【发布时间】:2014-05-14 02:11:04
【问题描述】:
当我尝试使用 Identity 2.0 和默认的 MVC 5 应用程序注册新用户时出现以下错误:
Invalid column name 'Email'.
Invalid column name 'EmailConfirmed'.
Invalid column name 'PhoneNumber'.
Invalid column name 'PhoneNumberConfirmed'.
Invalid column name 'TwoFactorEnabled'.
Invalid column name 'LockoutEndDateUtc'.
Invalid column name 'LockoutEnabled'.
Invalid column name 'AccessFailedCount'.
(repeats 2 more times, I have a total of 4 test users in AspNetUsers table.)
我有一个小型应用程序,我刚刚从 MVC4/Identity 1.0 升级到 MVC5/Identity 2.0,所以我的 Identity 1.0 列(UserName、PasswordHash、SecurityStamp、Discriminator)正常工作。
- 我正在使用带有标准 Identity 1.0 表的远程托管 SQL2012 数据库。
- 我创建了一个“干净”的项目,注册了一个用户,它在 localDB 上运行良好。
- 我在远程数据库上成功运行了“add-migration initial”和“update-database”。
- 我最初关注的是 this official guide ,但没有生成步骤 5 中的代码。我尝试手动粘贴它并再次运行“update-database -verbose”。似乎成功完成,但仍然收到错误。
感谢任何帮助!
迁移和配置.cs 文件
internal sealed class Configuration : DbMigrationsConfiguration<FactBanker.Models.ApplicationDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(FactBanker.Models.ApplicationDbContext context)
{
}
}
}
我的 V023 migration.cs 文件 Up() 和 Down() 方法都是空的。
public partial class V023 : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
【问题讨论】:
-
您提到的指南没有完整的迁移信息,那里缺少多个列...当您运行
add-migration时,它是否创建了迁移脚本?你能分享你的configuration.cs和[whatever]_initial.cs吗? -
很高兴知道,谢谢。我已经添加了上述文件,并且正在寻找描述完整 Identity 2.0 架构的内容。
-
您是否在运行 add-migration 和 update-database 之前尝试关闭自动迁移
AutomaticMigrationsEnabled = false? -
是的,实际上我后来把它变成了真的。我只是将其更改为 false 并再次运行 add-migration/update-database,结果相同。欣赏这些想法。
标签: entity-framework asp.net-mvc-5 identity