为什么IdentityUser自定义类的自定义属性始终为null

时间:2019-03-21 07:29:22

标签: c# asp.net asp.net-mvc asp.net-core

我有一个用于自定义身份用户的UserManager:

private readonly UserManager<CustomUser> _userManager;

其中有Subscriptions个集合,

public class CustomUser:IdentityUser
{
    public ICollection<Subscription> Subscriptions { get; set; }
}

但是当我使用userManager来检索用户时:

  var user = await _userManager.FindByEmailAsync(model.UserName);

Subscriptions为空。

我正在使用以下方式添加订阅并进行更新:

 await _userManager.UpdateAsync(user);

当我在数据库中检查Subscriptions时,我可以看到条目。

但是用户管理器的Subscriptions始终返回null。

1 个答案:

答案 0 :(得分:0)

UserManager.FindAsync ..方法不包含/返回导航属性。

要包括导航比例,我们必须使用entityFramework扩展。

在这种情况下,

var userWithSubscriptions =  _userManager.Users.Include(c => c.Subscriptions);
var currentUserSubscription = userWithSubscriptions.Where(x => x.UserName == model.UserName).FirstOrDefault().Subscriptions;