Я пытаюсь вытащить всех своих пользователей Identity и связанных с ними ролей для страницы администрирования управления пользователями. Я думал, что это будет достаточно легко, но, видимо, нет. Я пробовал выполнить следующее решение: qaru.site/info/13605295/... но до сих пор он не разработан.
Вот что я имею до сих пор:
ApplicationUser:
public class ApplicationUser : IdentityUser
{
public List<IdentityUserRole<string>> Roles { get; set; }
}
DbContext
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
Идентификационный код запуска
services.AddIdentity<ApplicationUser, IdentityRole>(options => options.Stores.MaxLengthForKeys = 128)
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Страница Razor, где я хочу отобразить список:
public class IndexModel : PageModel
{
private readonly UserManager<ApplicationUser> userManager;
public IndexModel(UserManager<ApplicationUser> userManager)
{
this.userManager = userManager;
}
public IEnumerable<ApplicationUser> Users { get; set; }
public void OnGetAsync()
{
this.Users = userManager.Users.Include(u => u.Roles).ToList();
}
}
Я получаю следующую ошибку при вызове userManager.Users.Include(u => u.Roles).ToList();
:
MySql.Data.MySqlClient.MySqlException: 'Неизвестный столбец' u.Roles.ApplicationUserId 'в' списке полей ''