【发布时间】:2016-07-15 21:55:35
【问题描述】:
我已经有了我的数据库,我需要使用 ASP.Net Identity 2.0。所以我做了以下事情:
获取身份表的SQL Script:
- 使用身份验证个人用户帐户创建 MVC 项目
- 然后,为在默认连接下创建的数据库编写脚本
然后,我将它与我现有的数据库集成:
- 将脚本表插入到 SQL Server 中的现有数据库中 管理工作室。
生成我的身份数据库后,我开始使用 EF Migrations for DB First 将必要的列添加到表“ASPNetUsers”中。
- 我使用数据库优先方法创建了一个新的 MVC 项目
- 现在,我在 web.config 中有 2 个连接字符串
因此,我的数据库中有 Asp.Identity 表,我的应用程序中有 ER 模型。
然后,我开始添加新属性:
public class ApplicationUser : IdentityUser
{
public string Name { get; set; }
public virtual Region Region { get; set; }
}
添加每个属性后,我执行了迁移命令:Add-Migration 和 Update-Database。
然后,我尝试使用填充的添加列注册新用户,一切正常。
但是,我需要更改表的名称,所以我使用了 Fluent API:
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("Account");
}
在运行应用程序并尝试创建新用户时,出现以下错误:
【问题讨论】:
-
添加流畅重命名后是否运行过Add-Migration和Update-Database?
-
我不确定这是解决此问题的正确方法。因此,请在备份 db 后尝试一次。找到名为 _migrationhistory 或类似名称的表并删除其内容。
标签: c# asp.net-mvc asp.net-identity ef-database-first