ASP.NET Identity 2 UserManager получает всех пользователей async
Может кто-нибудь сказать, есть ли способ заставить всех пользователей асинхронизировать в ASP.NET Identity 2?
В UserManager.Users нет ничего асинхронного или найти все async или что-то вроде этого
Ответ 1
Невозможно сделать это асинхронно с классом UserManager. Вы можете либо обернуть его в свой собственный асинхронный метод: (это может быть немного злой)
public async Task<List<User>> GetUsersAsync()
{
using (var context = new YourContext())
{
return await UserManager.Users.ToListAsync();
}
}
Или используйте свой контекст напрямую:
public async Task<List<User>> GetUsersAsync()
{
using (var context = new YourContext())
{
return await context.Users.ToListAsync();
}
}
Ответ 2
Расширяя ответ DavidG для .NET Core 2.1, вам нужно будет использовать IdentityUser вместо User, а также вам придется напрямую использовать свой контекст.
public async Task<List<IdentityUser>> GetUsersAsync()
{
using (var context = new ApplicationDbContext())
{
return await context.Users.ToListAsync();
}
}