问题标签 [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.
.net-core - 中继分页、数据加载器和内存中的斩波
我是 graphql 的新手,目前正在参加 ChilliCream graphql 研讨会。在遵循此之后实施分页后
有一个注释:“在我们的 TrackType 实现中有一个警告。因为,我们在解析器中使用 DataLoader 并首先获取 ID 列表,我们基本上总是会获取所有内容并切入内存。在实际项目中通过将 DataLoader 部分移动到中间件和可查询 id 上的第一页,这可以分为两个动作。也可以实现一个特殊的 IPagingHandler,它使用 DataLoader 并应用分页逻辑。
我一直无法弄清楚如何拆分这两个动作。任何帮助,将不胜感激。
询问
跟踪查询
轨道类型
数据加载器
谢谢
hotchocolate - 使用 ObjectType 字段扩展类型
我是 HotChocolate 和 GraphQL 的新手,我在类型扩展方面遇到了一些困难。
是否可以使用ObjectType
字段扩展类型?我在文档中只找到了一个示例StringType
:
我试图做类似的事情,但我有这个例外HotChocolate.SchemaException: Unable to resolve type reference Output: ObjectType
。
在我的情况下,您能否建议使用ObjectType
字段扩展类型的任何方法?或者只是回答是否可能?
谢谢!
asp.net-core - HotChocolate GraphQL 在运行时添加类型扩展或模式
我想在运行时随时在我们的 API 注册后端服务时动态添加新类型或查询扩展。因此,在 ConfigureServices 启动时,我们基本上只使用一种测试方法进行查询:
启动后,我需要调用 AddType 或 AddTypeExtensionsFromString 将新方法/类型添加到 API。有没有办法用 HotChocolate 做到这一点?
c# - 基于已解析属性的 HotChocolate 过滤器集合
我想根据 Child.Value 是否不同于 null 来过滤 Parent.Children 集合。例如:.Where(child => // 孩子有值);
但是使用上面的代码,我似乎无法使用中间件,因为它在调用 Child.Value 之前运行。
解决 Child.Value 后,我是否可以应用过滤逻辑?
asp.net-core - AddPooledDbContextFactory 与使用自定义 DbConnection 的 DbContext:服务未注册
我有一个自定义的 DbContext SnowflakeDbContext,我需要使用SnowflakeDbConnection对其进行初始化才能使其工作:
这适用于 EF Core 5,在 Startup.cs 中(我使用的是 ASP.NET Core 5 Web 应用程序)我使用
我想将SnowflakeDbContext与HotChocolate一起使用,建议我使用AddPooledDbContextFactory<>以支持连接池并允许系统进行同时调用(在此处描述)。
我已经修改了 Startup.cs:
使用以下 GraphQL 查询(使用并行查询):
我收到以下错误:
我可以加
在 Startup.cs 调用.AddPooledDbContextFactory<>之后。现在我得到一个不同的错误:
我在网上看到的所有示例都使用.UseSqlServer(connectionString),因为我需要使用.UseSqlServer(dbConnection)版本才能访问我们的 Snowflake 数据库。
如何在 Startup.cs 中配置我的应用程序以使用 .AddPooledDbContextFactory()?
更新:从 graphql-workshop 代码开始,用第一个 SqlServer 替换 Sqlite,然后使用我的 SnowflakeDbContext 替换 SqlServer 我让它工作,所以如上所述,我的代码中一定存在细微差别,导致我的案例失败。
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,但此操作也没有输入字段。有什么东西不见了..?
c# - 如何使用 Hot Chocolate 以 Code First 方法将字段指向另一个微服务
我正在尝试使用 Hot Chocolate 将我的 API 拆分为微服务,并尝试实现代码优先方法模式拼接。在下面的示例中,我将从微服务解析对象点Employees
内的字段。我也在尝试完成相反的操作,在微服务中解析微服务中的属性。Company
Employee
Company
Employee
Company
.net-core - 使用 Projections 不会加载使用数据加载器解析的字段
我的代码设置如下(.AddProjection() 已添加到 Startup.cs 文件中)
当我这样查询时:
我得到以下结果:
问题是在查询结果中嵌套的订单详细信息数据永远不会出现(即使数据加载器执行相同的查询)。
我可以看到 2 个查询被触发
- 加载 Order 表的父数据
- 通过 dataLoader 加载订单详情
asp.net-core - .net 5.0 hotchocolate graphql 服务器版本 11 模式拼接在哪里?
试图跟随Hotchocolate ChilliCream 博客
基本 GraphQl 服务器运行正常。但是,当我按照博客中的说明添加模式拼接时,无法构建项目。我的包裹参考如下;
并尝试添加
发生以下构建错误;
如何在这个项目中添加模式拼接?
asp.net-core - 如何控制 HotChocolate 中枚举值的序列化?
HotChocolate 在所有大写蜗牛情况下序列化枚举值,这导致枚举值FooBar
被 Hot Chocolate 推断FOO_BAR
,但value.ToString()
给出Enum.GetName(value)
了 FooBar,而 Hot Chocolate 似乎忽略了[EnumMember(Value = "FooBar")]
.
如何将序列化更改为我想要的任何方式?