使用HotChocolate从UserManager获取用户



如何使用[ScopedService]UserManagerMicrosoft.AspNetCore.Identity获取用户列表

以下是我已经尝试过的:

using System.Linq;
using hostapp.Data;
using hostapp.Models;
using HotChocolate;
using HotChocolate.Data;
using Microsoft.AspNetCore.Identity;
namespace hostapp.GraphQL
{
public class Query
{
// 1.
[UseDbContext(typeof(DataContext))]
public IQueryable<AppUser> Users([ScopedService] UserManager<AppUser> userManager)
{
return (IQueryable<AppUser>)userManager.Users;
}

// 2.
[UseDbContext(typeof(DataContext))]
public async Task<List<AppUser>> Users([ScopedService] UserManager<AppUser> userManager)
{
return await userManager.Users.ToListAsync();
}
}
}

输入:

query {
users {
emailConfirmed
}
}

输出:

{
"errors": [
{
"message": "Unexpected Execution Error",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"users"
]
}
],
"data": {
"users": null
}
}

您不需要使用[ScopedService],而是使用[Service]DBContextUseDbContext结合使用的情况下,您甚至只需要使用[ScopedService]。我们将在下一个版本中修复这种混乱

相关内容

  • 没有找到相关文章

最新更新