首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET HotChocolate泛型分页

.NET HotChocolate泛型分页
EN

Stack Overflow用户
提问于 2021-08-18 09:05:01
回答 1查看 348关注 0票数 0

使用热巧克力平台,我为我的列表创建了一个响应类型:

ListResponseBase(IQueryable<T> Result, ResponseStatus status)。然后,我想对我的查询UsePagingListResponseBase<User> GetUsers()

但是我在模式构建步骤中得到了错误消息: ListResponseBase应该是可迭代的。

我甚至使用UsePaging<User>(),但是我得到了错误:无法从源获取数据。

我怎么能解决这个问题?我的ResponseBase模式错了吗?那我怎么才能在所有电话中返回状态呢?谢谢。

编辑:,这是我的简单ListResponseBase类:

代码语言:javascript
复制
public class ListResponseBase<TResult>
{
    public IQueryable<TResult> Result { get; set; }
    public ResponseStatus Status { get; set; }
}

这是我的疑问:

代码语言:javascript
复制
        [GraphQLName("user_getUsers")]
        [UsePaging]
        public ListResponseBase<User> GetUsers([Service] IUserService userService)
        {
            return userService.GetUsers();
        }

我的服务:

代码语言:javascript
复制
    public ListResponseBase<User> GetUsers()
    {
        return new ListResponseBase<User> { Status = ResponseStatus.Success, Result = userRepository.GetUsers() };  
    }

最后我的回购:

代码语言:javascript
复制
        public IQueryable<User> GetUsers()
        {
            return context.Users;
        }
EN

回答 1

Stack Overflow用户

发布于 2021-08-20 07:28:21

我只需将UsePaging添加到我的存储库和ListResponseBase<T>中,就可以解决这个问题:

代码语言:javascript
复制
    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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68829451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档