如何在GraphQL Dotnet中将父类型值作为参数传递给子类型?

如何在GraphQL Dotnet中将父类型值作为参数传递给子类型?,graphql,graphql-dotnet,Graphql,Graphql Dotnet,显示-父类型 人-子类型 一场演出可以有很多人。我想将shows类型中的每个“personId”作为参数传递给其子类型Person,如下所示: { shows { showId personId person(personId: <I_NEED_TO_PASS_THE_personId_ABOVE_HERE>) { name } } } { 显示 { 肖维德 拟人 person(personId:) { 名称 }

显示-父类型

人-子类型

一场演出可以有很多人。我想将shows类型中的每个“personId”作为参数传递给其子类型Person,如下所示:

{
  shows 
  {
    showId
    personId
    person(personId: <I_NEED_TO_PASS_THE_personId_ABOVE_HERE>) 
    {
      name
    }
  }
}
{
显示
{
肖维德
拟人
person(personId:)
{
名称
}
}
}
我可以知道如何访问Person字段中PersonId字段(兄弟)的值吗

public class ShowType : ObjectGraphType<Core.Show>
{
    public ShowType(
        IPersonRepository PersonRepository,
        IHttpContextAccessor accessor)
    {
        Field(a => a.ShowId);
        Field(a => a.PersonId); // PERSONID_VALUE

        Field<PersonType>(
          "Person",
          arguments: new QueryArguments(
            new QueryArgument<IdGraphType> { Name = "PersonId" }
          ),
          resolve: context =>
          {
              var PersonId = context.GetArgument<string>("PersonId");
              return PersonRepository.GetPerson(accessor.HttpContext, <I_NEED_PERSONID_VALUE_DIRECTLY_HERE_OR_THROUGH_ARGUMENTS>);
          }
        );
    }
}
公共类ShowType:ObjectGraphType
{
公共展示类型(
IPersonRepository PersonRepository,
IHttpContextAccessor(访问器)
{
字段(a=>a.ShowId);
字段(a=>a.PersonId);//PersonId\u值
场(
“人”,
参数:新的QueryArguments(
新查询语言{Name=“PersonId”}
),
解析:上下文=>
{
var PersonId=context.GetArgument(“PersonId”);
返回PersonRepository.GetPerson(accessor.HttpContext,);
}
);
}
}

请告知如何实现此目标。

此问题已解决。多亏了孙默-

公共类ShowType:ObjectGraphType
{
公共展示类型(
IPersonRepository PersonRepository,
IHttpContextAccessor(访问器)
{
字段(a=>a.ShowId);
字段(a=>a.PersonId);
场(
“人”,
解析:上下文=>
{
返回PersonRepository.GetPerson(accessor.HttpContext,context.Source.PersonId);
}
);
}
}
public class ShowType : ObjectGraphType<Core.Show>
{
    public ShowType(
        IPersonRepository PersonRepository,
        IHttpContextAccessor accessor)
    {
        Field(a => a.ShowId);
        Field(a => a.PersonId);

        Field<PersonType>(
          "Person",
          resolve: context =>
          {
              return PersonRepository.GetPerson(accessor.HttpContext, context.Source.PersonId);
          }
        );
    }
}