如何在GraphQL Dotnet中将父类型值作为参数传递给子类型?
显示-父类型 人-子类型 一场演出可以有很多人。我想将shows类型中的每个“personId”作为参数传递给其子类型Person,如下所示:如何在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
{
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);
}
);
}
}