我在ApplicationUser
类中添加了以下新属性。
[ForeignKey("UserTypeId")]
public UserType Type { get; set; }
public int UserTypeId { get; set; }
如何,我想向ApplicationUserManager
添加一个新方法来获取用户的类型,如下所示:
public UserType GetUserType()
{
return null;
}
我假设我不能使用ApplicationUserManager
类的Store
(IUserStore<...>
)属性来查询这个新字段,因为我假设没有方法可以让我从IUserStore
中为用户获得我自己的自定义字段。
那么,是从ApplicationUserManager
类查询自定义数据然后创建新的ApplicationDbContext
并自己获取数据的唯一方法吗?
只要你的ApplicationUserManager
类在UserManager
泛型中定义你的ApplicationUser
,你应该能够调用基本方法。
public class ApplicationUserManager : UserManager<ApplicationUser>
由于UserManager返回User的泛型,您可以简单地调用方法,如…
- FindByIdAsync (TKey)
- FindByNameAsync (String)
这些方法将返回一个ApplicationUser,包括你的自定义属性。
或者,如果你只关心类型属性而不是整个用户对象,那么你可以创建自己的UserStore
实现,并在初始化ApplicationUserManager
时传递它,这样你就可以访问DbContext
了!