entity-framework - 当我们可以使用应用程序 dbcontext 时,为什么我们要使用 UserManager 来访问用户配置文件信息?

标签 entity-framework asp.net-mvc-5 asp.net-identity asp.net-core-mvc

当我在谷歌上搜索如何查找 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/

相关文章:

c# - 使用 ASP Identity 2 POSTing to/Token 端点时总是收到 'invalid_client' 错误

sql-server - 是否可以将 __MigrationHistory 系统表移至新服务器?

c# - 使用 DI/抽象工厂模式时的依赖关系处理

entity-framework - EF 7 身份插入问题

asp.net-mvc-5 - 如何在搜索字符串 CustomerName 时使用 MVC 5 SearchBox 获取 int ID

dependency-injection - StructureMap MVC 5 html.Action 问题

asp.net-mvc-5 - 自定义ActionFilterAttribute OnActionExecuting中的MVC5/API2 CreateErrorResponse

asp.net-mvc - 将 ASP.NET Identity 2.0 UserManagerFactory 与 UseOAuthBearerTokens 方法一起使用的示例?

ASP.NET Core 2.1 标识 : How to remove the Default UI razor pages?

c# - PagedList 在第二页上丢失搜索过滤器