子项目上的Graphql过滤器

时间:2019-01-31 14:39:03

标签: c# .net graphql

我将继续尝试并了解如何使用GraphQL。我有一种很好的方法来按名称返回,但现在只想显示一个订单进行了多次购买的结果。例如在下面的示例中,我只想返回具有多个“订单行”的人

query {
  persons(firstname: "Andrew")
  {
    firstname
    surname
    orders {
      id
      totalcost
      orderlines {
        quantity
        product {
          name
          description
          price
        }
      }
    }
  }
}

下面是我当前的查询

public class PersonQuery : ObjectGraphType<Person>
{

    public PersonQuery(ShoppingData data)
    {
        Field<PersonType>(
            name: "person",
            description: "A Person",
            arguments: new QueryArguments(
                new QueryArgument<IdGraphType>
                {
                    Name = "id",
                    Description = "The id of the person"
                }),
            resolve: ctx =>
            {
                 return data.GetById(ctx.GetArgument<Guid>("id"));
            });

        Field<ListGraphType<PersonType>>(
            name : "persons",
            description: "Persons",
            arguments: new QueryArguments(
                new QueryArgument<StringGraphType>
                {
                    Name = "firstname",
                    Description = "The firstname of the person"
                },
                new QueryArgument<StringGraphType>
                {
                    Name = "surname",
                    Description = "The surname of the person"
                }),
            resolve: ctx =>
            {
                var firstName = ctx.GetArgument<String>("firstname");
                var surname = ctx.GetArgument<String>("surname");
                return data.Filter(firstName, surname);
            });

    }
}
  1. 所以我的问题是,我将如何仅对订购了超过商品(例如, > 1条订单行。

  2. 我将如何编写查询以显示所有基于我的过滤器的人员,然后仅显示具有1个以上订单行的订单?例如这样只会显示只下一条订单行的人,但不会在下面显示他们的订单?但是有多个订单行的人会看到它们。

非常感谢

0 个答案:

没有答案