身份框架。 GetUser(id)不加载IdentityUserRole

时间:2015-05-22 02:33:39

标签: asp.net identity

我有

UserManager<MyUser> myUserManager;

我使用MyUser user = myUserManager.GetUser(id);

user.Roles为空。我怎样才能获得user.Roles

谢谢

1 个答案:

答案 0 :(得分:0)

这可能是因为在数据库上下文中启用了延迟加载。这意味着在查询用户表时(例如,角色),将不会加载任何关联的对象。

您可以通过更改上下文的配置来打开预先加载:context.Configuration.LazyLoadingEnabled = false;但由于额外的数据库访问,它并没有真正推荐。

启用延迟加载,您应该覆盖自定义UserManager类中的方法并使用&#34; Include&#34;查询中的方法。

请参阅http://www.codeproject.com/Articles/788559/Loading-Related-Entities-with-Entity-Framework-A-B