我创建了一个具有自定义属性的类,该类继承自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);
它没有在Attributes属性上加载值。
提前致谢。
答案 0 :(得分:0)
您应该共享_userManager.FindByNameAsync(username);
的代码。我相信你没有加载相关的数据。这样的事情对你有用:
using (var context = new YouDBContext())
{
var user = context.Users
.Where(user => user.UserName == userName)
.Include(user => user.Attributes)
.ToListAsync();
}
此处是文档的链接:Loading Related Data.