SQL データベースのテーブル AspNetRoles にいくつかのロールをシードしました。ユーザーは AspNetUsers で見つかります。
また、多数の aspnet_ テーブルを見つけました (これらは古い WebForm のものだと思います)。ビュー内で、結果を返さない @Roles.GetAllRoles() を呼び出しています。aspnet_Roles テーブルにはレコードがありません。そこでチェックしているのかもしれません。しかし、シードされたロールが次のように作成されているため、それはありそうにありません。
var roleManager = new RoleManager<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
if (!roleManager.RoleExists("Member"))
roleManager.Create(new IdentityRole("Member"));
MVC5 に関する私の知識がほとんどないため、 Roles.GetAllRoles() が正しい結果を返すことを示唆しています。
私はこの @model EUWebRole.Models.IdentityManager を使用しています ApplicationUser も試してみましたが、結果は変わりませんでした。
質問に:
1) ロールのリストを取得するにはどうすればよいですか? 2) 間違った「テーブル」を使用している場合、正しいテーブルを使用するように設定するにはどうすればよいですか?
どんなアイデアでも大歓迎です。