Q:为什么要扩展 IdentityUser?
A:IdentityUser 只包含一些基本属性,很多具体场景下,我们需要保存用户的一些特定属性(如住址、身高等),这时我们就需要扩展 IdentityUser。
步骤
创建 ApplicationUser,增加了 City 属性:
public class ApplicationUser : IdentityUser{public string City { get; set; }}
ApplicationUser 替换 IdentityUser
生成迁移记录
public class AppDbContext : IdentityDbContext<ApplicationUser>{...}
执行迁移
- RegisterViewModel 中添加 City 属性
注册时保存 City 属性
[HttpPost]public async Task<IActionResult> Register(RegisterViewModel model){if (ModelState.IsValid){var user = new ApplicationUser{UserName = model.Email,Email = model.Email,City = model.City};var result = await _userManager.CreateAsync(user, model.Password);...}}
