当我在谷歌上搜索如何查找 UserProfile
属性时,我得到了结果,并且所有结果都使用 UserManager
来访问 UserProfile
自定义属性.
所以如果我有一个自定义的ApplicationUser
public class ApplicationUser : IdentityUser
{
public int AccType { get; set; } //
}
在我的 Controller 中,简化的代码如下所示
ApplicationUser usr = _context.Users.SingleOrDefault(u => u.UserName == User.Identity.Name);
此方法向代码公开UserProfile
属性。那么为什么每个人都使用 UserManager
???
最佳答案
UserManager
包括特定于用户通常执行的任务的验证规则和帮助器方法,例如使用安全密码创建新用户、验证输入的密码、添加/删除角色等。
是的,您可以使用ApplicationDbContext
直接,但您需要针对您的 DbSet<ApplicationUIser>
编写查询,当 UserManager
已经有了这些查询,并进行了验证等等。
例如, UserManager.FindByNameAsync
已经定义,并且另外它在执行搜索之前规范化名称。
看看source看看有什么 UserManager
提供超过 DbSet<ApplicationUser>
.
关于entity-framework - 当我们可以使用应用程序 dbcontext 时,为什么我们要使用 UserManager 来访问用户配置文件信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373180/