一尘不染

使用Asp.Net身份数据库的第一种方法

c#

我需要将Asp.Net最新的MVC版本与 现有 数据库集成,该数据库具有要添加String Address到表中的其他列dbo.AspNetUsers

我需要创建一个ApplicationUser具有地址属性的实例。

知道怎么做吗?


阅读 224

收藏
2020-05-19

共1个答案

一尘不染

一个可能对我有用的解决方案,基本上,我能够将Asp.Net Identity用户配置文件与现有数据库集成在一起。

获取Asp.Identity表:

  • 使用身份验证个人用户帐户创建MVC项目
  • 打开Web.config中DefaultConnection下列出的数据库。它将被称为(aspnet- [timestamp]或类似名称。)
  • 使用SQL Server Management Studio(为mdc附加数据库)编写数据库表脚本。

或者使用类似http://identity.codeplex.com/的名称

与您现有的数据库集成:

  • 将脚本化的表插入SQL Server Management Studio中的现有数据库。
  • 自定义关系并将其添加到ApplicationUser(如果需要)。
  • 创建新的Web项目> MVC>数据库第一个项目>使用EF …导入数据库。
  • 在IdentityModels.cs中,将ApplicationDbContext:base(“ DefaltConnection”)更改为使用项目的DbContext。

现在,您的数据库中具有带有ER模型的数据库中的Asp.Identity表。

Asp.Identity配置文件添加新属性:

  • 启用Entity Framework代码优先数据库迁移,只需在VS中转到“程序包管理器控制台”下的工具,
  • 执行命令“ Enable-Migrations”;启用数据库迁移后,就可以继续为UserProfile添加新属性

  • 要添加新属性,请修改IdentityModels.cs文件,例如:


public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}

添加新的迁移

  • 添加属性后,打开Package Manager控制台并执行以下命令。

添加迁移“ YouMigrationName”

此命令将生成一个数据库脚本文件,现在执行以下命令以针对数据库运行此脚本文件。

Update-Database

现在,所有新属性都将变成同一数据库表中的表字段。

我希望它可以帮助其他人,如果您有更好的主意,请告诉我。

2020-05-19