1. ホーム
  2. c#

[解決済み] Asp.net Identity MVC 5 でロールを作成する

2023-05-10 01:30:59

質問

新しいAsp.net Identity Security Frameworkを使用するためのドキュメントがほとんどありません。

私は、新しい役割を作成し、それにユーザーを追加しようとするために、私ができることをつなぎ合わせました。 以下を試しました。 ASP.NET Identityでロールを追加する

というのは、このブログから情報を得たのではないかと思われます。 asp.net identityでシンプルなToDoアプリケーションを構築し、ユーザーをToDoに関連付ける

モデルが変更されるたびに実行されるデータベースイニシャライザーにコードを追加しました。これは RoleExists 関数で失敗し、以下のエラーが発生します。

System.InvalidOperationException mscorlib.dllで発生しました。 エンティティタイプIdentityRoleは、現在のコンテキストのモデルの一部ではありません。

protected override void Seed (MyContext context)
{
    var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); 
    var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));

    // Create Admin Role
    string roleName = "Admins";
    IdentityResult roleResult;

    // Check to see if Role Exists, if not create it
    if (!RoleManager.RoleExists(roleName))
    {
        roleResult = RoleManager.Create(new IdentityRole(roleName));
    }
}

どんな助けでも感謝します。

どのように解決するのですか?

以下の署名があることを確認してください。 MyContext クラス

public class MyContext : IdentityDbContext<MyUser>

または

public class MyContext : IdentityDbContext

コードは何の修正もなく、私のために動作しています!!!!