如何使用 HotChocolate 在 GraphQL 中使用存储过程

问题描述 投票:0回答:1

我目前正在开发一个基于 .NET 框架构建并使用 MySQL 数据库的遗留应用程序。我们正在将应用程序迁移到 GraphQL 和 .NET Core。我们需要使用现有的存储过程。因为,userid\DB-role 被传递到存储过程以在数据库级别过滤数据。

我已经使用 Entity Framework 使用 hotchocolate 为 GraphQL 创建了一个 POC。因为,我是 GraphQL 的新手,并且不知道如何将 userid\DB-role 与请求一起传递或在解析器中传递,所以我计划使用存储过程方法。因此,需要有关该主题的帮助。

entity-framework .net-core graphql hotchocolate
1个回答
0
投票

您可以定义一个解析器并按照您喜欢的方式执行存储过程。

例如

services.AddGraphQLServer().AddQueryType<Query>();
public class Query 
{
    public async Task<User> GetUserByIdAsync(
      [Service] AnyServiceFromTheSerivceProvider service,
      Guid id, 
      CancellationToken ct) => await service.GetUserByIdAsync(id, ct);
}
© www.soinside.com 2019 - 2024. All rights reserved.