Мне нужен тип пагинации для GraphQL в ядре asp.net.
Я пытаюсь код ниже для типа:
using GraphQL.Types;
using WebApi.Data.Entities.Models;
using WebApi.Dtos;
using WebApi.Helpers;
using WebApi.Services;
namespace WebApi.Data.Entities.Graphql.GraphQueryTypes
{
public class PagedResultType<T>: ObjectGraphType<T> where T : class
{
public PagedResultType()
{
Name = "PagedResultType";
Field<IntGraphType>("CurrentPage");
Field<IntGraphType>("PageCount");
Field<IntGraphType>("PageSize");
Field<IntGraphType>("RowCount");
Field<IntGraphType>("FirstRowOnPage");
Field<IntGraphType>("LastRowOnPage");
Field<ListGraphType<T>>("Results");
}
}
}
Также я пытаюсь создать Field
наRootQuery
:
Field<PagedResultType<ComplaintSourceDTO>>(
"complaintSourceTypes",
arguments: new QueryArguments(
new QueryArgument<IntGraphType> { Name = "page", Description = "Sayfalama için sayfa " },
new QueryArgument<IntGraphType> { Name = "pageSize", Description = "Sayfalama için gerekli sayfa sayısı" }
),
resolve: context => complaintSourceService.GetDataWithPaged(context.GetArgument<int>("page"), context.GetArgument<int>("pageSize"))
);
Но он говорит как ошибка:
Тип 'T' нельзя использовать в качестве параметра типа 'T' в универсальном типе или методе 'ListGraphType».Не существует неявного преобразования ссылок из 'T' в 'GraphQL.Types.IGraphType'.
Так возможно ли создать универсальный тип объекта графа?
Как я могу получить это?
Спасибо