私は現在のユーザーに新しい役割を与えてくれる単純なメソッドを作成しようとしています(現在のユーザーは1つしかありませんので、単純な方法で取得できます)クエリ)UserManagerでロールを追加する
public ActionResult Index()
{
using (var db = new MyDbContext())
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
var id = User.Identity.GetUserId();
var role = db.AspNetRoles.First();
manager.AddToRole(id, role.Name);
}
return View();
}
私はこのエラーを取得しています:The entity type ApplicationUser is not part of the model for the current context.
行manager.AddToRole(id, role.Name);
に。私はASP.NETの初心者ですので、インフラストラクチャについてはあまりよく分かりませんが、このコードはユーザ登録に関する質問で(ここではスタック上に)何度も言及されていました。
ところで、私の目標として、データベース初回の移行システムでプロジェクトにロールシステムを実装する必要がありますが、このmanager.AddToRole(id, role.Name);
コードは自分のDBにレコードを追加しますか?
「HRMEntities」とは何か、それは何から継承していますか? – DavidG
ApplicationUserテーブルの名前を何らかのカスタムに変更してしまいましたか?また、DavidGが暗示しているように、HRMEntities DBコンテキストがIdentityDbContextを継承していることを確認してください。 –
Overhed
Sry、それは私の接続文字列の名前です固定していない。これを 'MyDbContext'に変更しました。 – rainbowShiningUnicorn