Я решил эту проблему, создав представление со всеми необходимыми столбцами (включая роли) и добавив его в контекст.

аюсь вытащить всех своих пользователей Identity и связанных с ними ролей на страницу администрирования управления пользователями. Я думал, что это будет достаточно просто, но, видимо, нет. Я попробовал следующее решение:https://stackoverflow.com/a/43562544/5392786 но это не сработало до сих пор.

Вот что у меня так далеко:

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 »в« списке полей »

Ответы на вопрос(4)

Ваш ответ на вопрос