好的,我已经播种了一些角色,这些角色可以在 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)如果我使用了错误的“表格”,我该如何设置它以使用正确的表格?
任何想法将不胜感激。