asp.net-mvc – ASP.Net MVC 5身份角色添加到数据库但User.IsInRole总是返回false

我有一个利用新身份模型的ASP.Net MVC 5应用程序.一切看起来都在工作,但是,用户的角色集合始终不包含任何项目,User.IsInRole始终返回false.

我可以使用UserManager.AddToRole(identity,“Admin”)成功地为用户添加角色;

这产生:http://imgur.com/vobtgO2

该模型似乎是正确的:
http://imgur.com/0csxrZm

我已经尝试在数据库上下文类中强制执行Lazy Loading,但这没有任何区别.

是否需要执行任何其他配置步骤才能将角色与用户相关联?我正在使用开箱即用的IdentityRole类,我的标准ApplicationUser类继承了IdentityUser.

任何帮助都会非常感激,因为我已经浪费了太多时间.

最佳答案 事实证明,尽管我在类的构造函数中将LazyLoadingEnabled设置为true,但是缺少Lazy Loading才是问题所在.

需要在onmodelcreating方法中启用延迟加载:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        this.Configuration.LazyLoadingEnabled = true;

感谢所有输入人员.

点赞