众所周知,.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的项目结构