我已经有了我的数据库,我需要使用ASP.Net Identity 2.0 . 所以我做了以下事情:
获取身份表的SQL脚本:
-
使用身份验证个人帐户创建MVC项目
-
然后,编写在“默认连接”下创建的数据库的脚本
然后,我将其与现有数据库集成:
- 将脚本表插入SQL Server Management Studio中的现有数据库 .
在我生成My Identity Database之后,我开始使用EF Migrations for DB First将必要的列添加到表“ASPNetUsers”中 .
-
我使用Database First Approach创建了一个新的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 .
然后,我尝试注册新用户添加列填充所有工作正常 .
但是,我需要更改Table的名称,所以我使用了Fluent API:
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("Account");
}
在运行应用程序并尝试创建新用户时,它会给我以下错误:
1 回答
您好像尚未更新模型 . 如果您使用的是Code First,请按照上面给出的说明进行操作
http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application
基本上在包管理器控制台中执行这些命令:
enable-migrations
add-migration InitialCreate
update-database
如果您需要在首次迁移后进行更改,则应执行:
add-migration
update-database