感觉有点卡住:我能够为ApplicationUser添加属性:
// Tells the application not to save changes
((_Application)wordDoc.Application).Quit(false);
它们出现在我的Register.cshtml视图中,并通过Register方法很好地添加到数据库中。到目前为止,我正在使用dotnet core提供的默认设置,使用Identity。
问题是当他们在那里时如何访问它们。 UserManager有一些默认方法,比如public class ApplicationUser : IdentityUser
{
[DataType(DataType.Text)]
public string CustomUserName { get; set; }
[DataType(DataType.Text)]
public string Address { get; set; }
[DataType(DataType.Text)]
public string City { get; set; }
[DataType(DataType.PostalCode)]
public string ZipCode { get; set; }
}
,但是获取其他新添加的属性的过程是什么?
我考虑过使用扩展方法,但随着我深入挖掘原始源代码(尝试模仿GetEmailAsync
所做的事情),我承认在the source中有点迷失,而我我不确定在任何情况下我都应该这样做。
我也环顾四周,似乎没有做这部分。有一些如何将属性添加到注册的示例,但没有人说如何在它们进入后检索它们。
那么获得新建物业的最佳方式是什么?
答案 0 :(得分:0)
UserManager<TUser>
类是泛型类。如您所见,您需要一个UserManager<ApplicationUser>
的实例。
UserManager<TUser>
类公开方法Task<TUser> FindByIdAsync(string userId)
,在您的情况下,该方法将返回ApplicationUser
的实例。
所以您需要做的就是致电ApplicationUser myUser = myUserManager.FindByIdAsync("myUserId");