问题标签 [hotchocolate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
191 浏览

.net-core - 中继分页、数据加载器和内存中的斩波

我是 graphql 的新手,目前正在参加 ChilliCream graphql 研讨会。在遵循此之后实施分页后

有一个注释:“在我们的 TrackType 实现中有一个警告。因为,我们在解析器中使用 DataLoader 并首先获取 ID 列表,我们基本上总是会获取所有内容并切入内存。在实际项目中通过将 DataLoader 部分移动到中间件和可查询 id 上的第一页,这可以分为两个动作。也可以实现一个特殊的 IPagingHandler,它使用 DataLoader 并应用分页逻辑。

我一直无法弄清楚如何拆分这两个动作。任何帮助,将不胜感激。

询问

跟踪查询

轨道类型

数据加载器

谢谢

0 投票
1 回答
816 浏览

hotchocolate - 使用 ObjectType 字段扩展类型

我是 HotChocolate 和 GraphQL 的新手,我在类型扩展方面遇到了一些困难。

是否可以使用ObjectType字段扩展类型?我在文档中只找到了一个示例StringType

我试图做类似的事情,但我有这个例外HotChocolate.SchemaException: Unable to resolve type reference Output: ObjectType

在我的情况下,您能否建议使用ObjectType字段扩展类型的任何方法?或者只是回答是否可能?

谢谢!

0 投票
0 回答
368 浏览

asp.net-core - HotChocolate GraphQL 在运行时添加类型扩展或模式

我想在运行时随时在我们的 API 注册后端服务时动态添加新类型或查询扩展。因此,在 ConfigureServices 启动时,我们基本上只使用一种测试方法进行查询:

启动后,我需要调用 AddType 或 AddTypeExtensionsFromString 将新方法/类型添加到 API。有没有办法用 HotChocolate 做到这一点?

0 投票
1 回答
246 浏览

c# - 基于已解析属性的 HotChocolate 过滤器集合

我想根据 Child.Value 是否不同于 null 来过滤 Parent.Children 集合。例如:.Where(child => // 孩子有值);

但是使用上面的代码,我似乎无法使用中间件,因为它在调用 Child.Value 之前运行。

解决 Child.Value 后,我是否可以应用过滤逻辑?

0 投票
1 回答
354 浏览

asp.net-core - AddPooledDbContextFactory 与使用自定义 DbConnection 的 DbContext:服务未注册

我有一个自定义的 DbContext SnowflakeDbContext,我需要使用SnowflakeDbConnection对其进行初始化才能使其工作:

这适用于 EF Core 5,在 Startup.cs 中(我使用的是 ASP.NET Core 5 Web 应用程序)我使用

我想将SnowflakeDbContextHotChocolate一起使用,建议我使用AddPooledDbContextFactory<>以支持连接池并允许系统进行同时调用(在此处描述)。

我已经修改了 Startup.cs:

使用以下 GraphQL 查询(使用并行查询):

我收到以下错误:

我可以加

在 Startup.cs 调用.AddPooledDbContextFactory<>之后。现在我得到一个不同的错误:

我在网上看到的所有示例都使用.UseSqlServer(connectionString),因为我需要使用.UseSqlServer(dbConnection)版本才能访问我们的 Snowflake 数据库。

如何在 Startup.cs 中配置我的应用程序以使用 .AddPooledDbContextFactory()?

更新:从 graphql-workshop 代码开始,用第一个 SqlServer 替换 Sqlite,然后使用我的 SnowflakeDbContext 替换 SqlServer 我让它工作,所以如上所述,我的代码中一定存在细微差别,导致我的案例失败。

0 投票
0 回答
236 浏览

hotchocolate - Hotchocolate Strawberryshake 如何使用突变?

似乎根本没有关于如何通过 graphql 客户端使用 Strawberryshake (C#) 进行突变的示例。使用 Strawberryshake Version11.0.0-preview.138、Abstractions and Http v. 10.3.0-preview.12 和 CodeGeneration.CSharp.Analyzers v. 0.0.30,我可以很好地运行示例中的查询。现在我添加了一个突变,但我不知道如何使用它?

我从模式导入(Alarm.graphql)中得到以下信息:

查询使用

很好。对于我添加的突变

它成功地在构建时生成了很多看起来很合理的类。现在我创建一个到服务器的连接:

客户端是我需要使用的。对于查询,我可以使用:

相似地

编译得很好,但当然它不会做我想做的事。定义了一些 WriteAlarmOperation,我可以将其作为参数传递给 WriteAlarmAsync,但此操作也没有输入字段。有什么东西不见了..?

0 投票
0 回答
45 浏览

c# - 如何使用 Hot Chocolate 以 Code First 方法将字段指向另一个微服务

我正在尝试使用 Hot Chocolate 将我的 API 拆分为微服务,并尝试实现代码优先方法模式拼接。在下面的示例中,我将从微服务解析对象点Employees内的字段。我也在尝试完成相反的操作,在微服务中解析微服务中的属性。CompanyEmployeeCompanyEmployeeCompany

0 投票
1 回答
235 浏览

.net-core - 使用 Projections 不会加载使用数据加载器解析的字段

我的代码设置如下(.AddProjection() 已添加到 Startup.cs 文件中)

当我这样查询时:

我得到以下结果:

问题是在查询结果中嵌套的订单详细信息数据永远不会出现(即使数据加载器执行相同的查询)。

我可以看到 2 个查询被触发

  1. 加载 Order 表的父数据
  2. 通过 dataLoader 加载订单详情
0 投票
1 回答
563 浏览

asp.net-core - .net 5.0 hotchocolate graphql 服务器版本 11 模式拼接在哪里?

试图跟随Hotchocolate ChilliCream 博客

基本 GraphQl 服务器运行正常。但是,当我按照博客中的说明添加模式拼接时,无法构建项目。我的包裹参考如下;

并尝试添加

发生以下构建错误;

如何在这个项目中添加模式拼接?

0 投票
1 回答
619 浏览

asp.net-core - 如何控制 HotChocolate 中枚举值的序列化?

HotChocolate 在所有大写蜗牛情况下序列化枚举值,这导致枚举值FooBar被 Hot Chocolate 推断FOO_BAR,但value.ToString()给出Enum.GetName(value)了 FooBar,而 Hot Chocolate 似乎忽略了[EnumMember(Value = "FooBar")].

如何将序列化更改为我想要的任何方式?