Я хочу реализовать сортировку в моих запросах, но я не хочу создавать жестко EnumerationGraphType
для каждого моего класса, чтобы узнать, по какому полю следует сортировать.Я использую C # с GraphQL для .NET.
Я пытался использовать шаблоны и пытался передать список OrderByFieldEnum
a, содержащий возможные значения перечисления.
Это мой тип графика, что я хотел бы сделать динамический как-то:
public class OrderByGraphType : ObjectGraphType<OrderBy>
{
public OrderByGraphType()
{
Field<OrderByFieldEnum>().Name("OrderBy"); // This is the field that I'd like to build dynamically, from a List<string>
Field<OrderDirectionTypeEnum>().Name("OrderDirection").Resolve(context => context.Source.OrderDirection);
}
}
// The enum that should be built dynamically
public class OrderByFieldEnum : EnumerationGraphType
{
public OrderByFieldEnum(string graphTypeName, List<string> possibleValues)
{
Name = graphTypeName;
if (possibleValues != null)
{
foreach (var option in possibleValues)
{
AddValue(option.ToUpper(), "Possible sorting value", option);
}
}
}
}
Это, очевидно, не работает.GraphQL не может построить свою схему таким образом.У кого-нибудь есть решение?