我有一个方法可以获取我的数据库中所有用户,简单来说我是这样做的:
var allUsers = context.Users.ToList();
我无法理解的是,当我调试roles属性时,它是空的:
但在dbo.UserRoles中:
我错过了什么吗?
编辑:
我的注册方法:
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
UserManager.AddToRole(user.Id, model.UserRole.ToString());
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return PartialView("~/Views/Account/Register.cshtml",model);
}
编辑2:
获取角色时,可以像这样:
var roles = context.Roles.ToList();
我可以看到所有的角色,也可以看到哪些用户拥有特定的角色:
编辑 3:
尝试关闭和打开懒加载
this.Configuration.LazyLoadingEnabled = true;
this.Configuration.LazyLoadingEnabled = false;
仍然没有给我角色数据。