.net core 修改 Identity/AspNetUsers 数据库

时间:2022-03-10 05:06:05

  众所周知,.net core有一套完整的用户管理功能。使用它就能实现用户的管理及登录登出功能。现在问题来了,我们有时候需要添加一些字段,该怎么办呢?当然是修改他呀。修改方法参考链接:https://medium.com/@nativoplus/asp-net-core-identity-3-0-6018fc151b4

  总结来说,第一步是创建Entity,并继承 IdentityUser 。

  第二步,修改Startup,在ConfigureServices中修改Identity使用到的用户对象 (ApplicationUser),角色我没有改,就不修改了:

    

   services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

  第三步,修改 数据库上下文对象,在OnModelCreating方法中指定 ApplicationUser 对应的用户表

  

//上下文继承自 IdentityDbContext

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
//修改OnModelCreating 方法
modelBuilder.Entity<ApplicationUser>(entity => { entity.ToTable("AspNetUsers", "dbo"); }

  到这一步就可以了。以后修改字段就可以使用 EF 的迁移命令来更新数据库了,也可以手动修改数据库后再修改ApplicationUser对象,这适用于db first的项目结构