Dar*_*ric 6 c# .net-core graphql graphql-dotnet
如何将枚举转换为 GraphQL 使用的 EnumerationGraphType?这是一个例子来说明我在说什么:
public enum MeetingStatusType
{
Tentative,
Unconfirmed,
Confirmed,
}
Run Code Online (Sandbox Code Playgroud)
public class MeetingDto
{
public string Id { get; set; }
public string Name { get; set; }
public MeetingStatusType Status { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
public class MeetingStatusEnumType : EnumerationGraphType<MeetingStatusType>
{
public MeetingStatusEnumType()
{
Name = "MeetingStatusType";
}
}
Run Code Online (Sandbox Code Playgroud)
public class MeetingType : ObjectGraphType<MeetingDto>
{
public MeetingType()
{
Field(m => m.Id);
Field(m => m.Name, nullable: true);
Field<MeetingStatusEnumType>(m => m.Status); // Fails here
}
}
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,因为没有从MeetingStatusTypeto的隐式转换MeetingStatusEnumType。在文档中,它们映射的模型将直接依赖于MeetingStatusEnumType,但将 GraphQL 依赖引入域类型和对象之类的东西似乎并不好。我觉得我错过了一种非常简单的方法来注册这个领域,但我终生无法弄清楚。任何帮助将不胜感激!
看起来我不应该尝试使用表达式重载来映射字段。将其改为以下内容似乎已经解决了这个问题:
Field(e => e.Id);
Field(e => e.Name, nullable: true);
Field<MeetingStatusEnumType>("meetingStatus", resolve: e => e.Source.Status);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2763 次 |
| 最近记录: |