- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我刚刚开始,
我有一个实体,它不是通过直接关系而是通过保留 EntityId 和 EntityType(Enum) 来保存来自其他实体的数据。
当我从 GraphQL 读取这些记录时,我希望使用解析器解析一个字段,如下所示,
public class AssignmentResolver
{
public object GetEntity( Assignment assignment, AppDbContext context)
{
if(assignment.EntityType == AssignmentEntityType.PERSON)
{
return context.People.FirstOrDefault(x => x.Id == assignment.EntityId);
}
// And more checks
return null;
}
}
那我可以说
public class AssignmentQueryType: ObjectType<Assignment>
{
protected override void Configure(IObjectTypeDescriptor<Assignment> descriptor)
{
descriptor.Field("entity").ResolveWith<AssignmentResolver>(x => x.GetEntity(default!, default!));
}
}
我想知道这是正确的还是有更好的方法...
最佳答案
嗯,这很快。
我发现了我的问题。似乎在解析器中我不能只返回一个对象,因为在读取模式时应该是清晰的。
因此,如果我从解析器返回一个在所有这些实体之间共享的 View 模型,那么我们就可以开始了。
因此 GetEntity 代码将更改为
public EntityViewModel GetEntity( Assignment assignment, [Service] AppDbContext context)
{
if(assignment.EntityType == AssignmentEntityType.PERSON)
{
var entity = context.People.FirstOrDefault(x => x.Id == assignment.EntityId);
return new EntityViewModel(entity);
}
// And more checks
return null;
}
关于c# - ResolveWith 中的 DbContext,HotChocolate GraphQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65951533/
此问题基于 https://github.com/ChilliCream/hotchocolate/issues/924 中的讨论- 这也是我获得灵感的地方。 我有一个系统,其中保存了一份员工名单。每
所以我正在尝试使用 HotChocolate 12.5.2 记录错误,我想知道拦截错误的最佳位置。阅读 hotchocolate Documentation 我发现 IErrorFilter 接口(i
我正在使用热巧克力 graphql。我有一个场景,我有两个单独的查询类型类。 PostQuery -> 包含与帖子相关的查询 UserQuery -> 包含与用户相关的查询 我的文件夹结构 我是这样配
我正在使用热巧克力 graphql。我有一个场景,我有两个单独的查询类型类。 PostQuery -> 包含与帖子相关的查询 UserQuery -> 包含与用户相关的查询 我的文件夹结构 我是这样配
我正在实现 HotChocolate作为我的 ASP.NET API 的一部分。我正在尝试向我的应用程序的聊天部分添加订阅,但是,HotChocolate 站点上的文档尚未实现。从我从其他站点/框架中
当后端服务在运行时随时在我们的 API 注册时,我想动态添加新类型或查询扩展。所以在 ConfigureServices 中启动时,我们基本上只有一个带有一种测试方法的查询: services.Add
我正在尝试创建一个 Graphql 架构,架构正在装箱,但我看不到 Id(它是 MongoDb ObjectId 类型)的过滤选项。你能告诉我我错过了什么吗?我也想按 Id 过滤,但在创建的模式上没有
HotChocolate 在所有大写蜗牛情况下序列化枚举值,这导致是枚举值 FooBar 被 Hot Chocolate 推断为 FOO_BAR,但 value.ToString() 和 Enum.G
所以我刚刚开始, 我有一个实体,它不是通过直接关系而是通过保留 EntityId 和 EntityType(Enum) 来保存来自其他实体的数据。 当我从 GraphQL 读取这些记录时,我希望使用解
我正在构建一个简单的 HotChocolate GraphQl 服务器,HotChocolate 抛出一个 Unexpected Execution Error ,但不会公开有关错误的任何信息,只要我
如果使用 Relay 进行开发,可以直接使用 Hot Chocolate GraphQL 服务器打印 GraphQL SDL。有没有办法做到这一点? schema { query: Query }
有没有办法添加默认排序字段,以便我可以 UsePaging 和 UserSorting,但是如果没有指定顺序,我会添加一个字段,例如 Id .但如果用户确实指定了顺序,则不要添加默认值。 比如我可以在
当我添加 PaginationAmmountType 来设置每页的最大记录时,我的所有模型 int 变量都会变成 PaginatioAmount services.AddGraphQL(SchemaB
我有一个带有 REST 和 GraphQL 端点的 ASP.NET Core Api (.NET 6.0)。 GraphQL 端点是使用 Hotchocolate (12.6.0) 实现的。 为了测试
我是一名优秀的程序员,十分优秀!