.NET HotChocolate 泛型类型分页
Posted
技术标签:
【中文标题】.NET HotChocolate 泛型类型分页【英文标题】:.NET HotChocolate generic type pagination 【发布时间】:2021-10-20 01:50:08 【问题描述】:使用 Hot Chocolate 平台,我为我的列表创建了一个响应类型:ListResponseBase(IQueryable<T> Result, ResponseStatus status)
。
然后我想UsePaging
进行查询:ListResponseBase<User> GetUsers()
。
但我在架构构建步骤中收到错误消息:ListResponseBase 应该是可迭代的。
我什至使用UsePaging<User>()
,但出现错误:无法从源获取数据。
我该如何解决这个问题?我的 ResponseBase 模式错了吗?那么我如何在所有通话中返回状态?谢谢。
编辑: 这是我的简单 ListResponseBase 类:
public class ListResponseBase<TResult>
public IQueryable<TResult> Result get; set;
public ResponseStatus Status get; set;
这是我的查询:
[GraphQLName("user_getUsers")]
[UsePaging]
public ListResponseBase<User> GetUsers([Service] IUserService userService)
return userService.GetUsers();
我的服务:
public ListResponseBase<User> GetUsers()
return new ListResponseBase<User> Status = ResponseStatus.Success, Result = userRepository.GetUsers() ;
最后是我的回购:
public IQueryable<User> GetUsers()
return context.Users;
【问题讨论】:
你能发布 ListResponseBase我只是通过将UsePaging
添加到我的存储库和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);
【讨论】:
以上是关于.NET HotChocolate 泛型类型分页的主要内容,如果未能解决你的问题,请参考以下文章
HotChocolate 突变输入类型使用 int 而不是 ID
使用Hot Chocolate创建ASP.NET Core GraphQL服务