0

with Hot chocolate platform, I created a response type for my lists:
ListResponseBase(IQueryable<T> Result, ResponseStatus status). Then I want to UsePaging for my query: ListResponseBase<User> GetUsers().
but I got error message in schema building step: ListResponseBase should be iterate-able.
I even use UsePaging<User>() but I got error: cannot fetch data from source.
how could I resolve this? Am I wrong in my ResponseBase pattern? then how I can return Status in all calls? thanks.

Edit: this is my simple ListResponseBase class:

public class ListResponseBase<TResult>
{
    public IQueryable<TResult> Result { get; set; }
    public ResponseStatus Status { get; set; }
}

and this is my query:

        [GraphQLName("user_getUsers")]
        [UsePaging]
        public ListResponseBase<User> GetUsers([Service] IUserService userService)
        {
            return userService.GetUsers();
        }

my service:

    public ListResponseBase<User> GetUsers()
    {
        return new ListResponseBase<User> { Status = ResponseStatus.Success, Result = userRepository.GetUsers() };  
    }

and finally my repo:

        public IQueryable<User> GetUsers()
        {
            return context.Users;
        }
Sadeq Shajari
  • 21
  • 1
  • 4

1 Answers1

0

I just fix this issue with add UsePaging to my repository and ListResponseBase<T> :

    public class ListResponseBase<TResult> 
{
    [UseOffsetPaging]
    public IQueryable<TResult> Result { get; set; }
    public ResponseStatus Status { get; set; }
}

 public interface IUserRepository
{
    User GetUser(int userId);
    [UseOffsetPaging]
    IQueryable<User> GetUsers();
    User GetUser(string externalId);
}
Sadeq Shajari
  • 21
  • 1
  • 4