私は私のDBを持っているすべてのユーザーが、単純に私はこれを行うに置く取得する方法があります:私はそれを把握することはできませんどのようなアイデンティティ:なぜuser.rolesが空ですか?
var allUsers = context.Users.ToList();
は私が役割プロパティをデバッグするとき、それが空であることです:
が、中dbo.UserRoles:
私はここで何が欠けていますか?
EDIT:
私の登録方法:
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);
}
EDIT 2:
このような役割を取得する場合:私はすべての役割と私を見ることができます
var roles = context.Roles.ToList();
を特定の役割を持つユーザーを確認することもできます。
EDIT 3:
オフ遅延読み込みと
this.Configuration.LazyLoadingEnabled = true;
this.Configuration.LazyLoadingEnabled = false;
はまだ私の役割データを与えるものではありませんオンにしようとしました。
var allUsers = context.Users.Include(u => u.Roles).ToList();
その後、ユーザーの役割にアクセスすることができるはずです:あなたはあなたが使用したい関連のエンティティをロードする必要が
聖なる牛、どこでも答えなしのような素晴らしい質問。なぜこれは難しいのですか? –