Can somebody tell if there is a way to get all users async in ASP.NET Identity 2?
In the UserManager.Users
there is nothing async or find all async or s
Expanding on DavidG's answer for .NET Core 2.1 you would need to user IdentityUser
instead of User
, as well as you will have to use your context directly.
public async Task<List<IdentityUser>> GetUsersAsync()
{
using (var context = new ApplicationDbContext())
{
return await context.Users.ToListAsync();
}
}
There is no way to do this asynchronously with the UserManager
class directly. You can either wrap it in your own asynchronous method: (this might be a bit evil)
public async Task<IQueryable<User>> GetUsersAsync
{
return await Task.Run(() =>
{
return userManager.Users();
}
}
Or use the ToListAsync
extension method:
public async Task<List<User>> GetUsersAsync()
{
using (var context = new YourContext())
{
return await UserManager.Users.ToListAsync();
}
}
Or use your context directly:
public async Task<List<User>> GetUsersAsync()
{
using (var context = new YourContext())
{
return await context.Users.ToListAsync();
}
}