我有一个用于自定义身份用户的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。
答案 0 :(得分:0)
UserManager.FindAsync ..方法不包含/返回导航属性。
要包括导航比例,我们必须使用entityFramework扩展。
在这种情况下,
var userWithSubscriptions = _userManager.Users.Include(c => c.Subscriptions);
var currentUserSubscription = userWithSubscriptions.Where(x => x.UserName == model.UserName).FirstOrDefault().Subscriptions;