我创建了一个具有自定义属性的类,该属性继承自IdentityUser类。
public class AppUser:IdentityUser
{
public AppUser(string userName) : base(userName)
{
this.UserName = userName;
}
public AppUser()
{
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string DisplayName { get; set; }
public DateTime DateOfBirth { get; set; }
public string Gender { get; set; }
public List<UserAttribute> Attributes { get; set; }
}
public class UserAttribute
{
[Key]
public string UserID { get; set; }
public string Key { get; set; }
public string Value { get; set; }
}
当我使用时,
var user = await _userManager.FindByNameAsync(username);
它不会加载属性属性上的值。
提前谢谢。
您应该共享 _userManager.FindByNameAsync(username);
的代码。我相信您没有加载相关数据。这样的东西应该适合你:
using (var context = new YouDBContext())
{
var user = context.Users
.Where(user => user.UserName == userName)
.Include(user => user.Attributes)
.ToListAsync();
}
这里是文档的链接:加载相关数据。