ORM 相关处理
提示
版权声明
- 文章作者: flytreeleft - flytreeleft@crazydan.org
- 文章链接: https://nop.crazydan.io/practice/cases/orm
- 版权声明: 本文章采用许可协议《署名 4.0 国际 (CC BY 4.0)》,转载或商用请注明文章来源及作者信息。
对关联对象做子查询
在 to-one
映射的关联属性上设置 ref-connection
标签,
会在被关联方自动创建 GraphQLConnection
类型的属性,
其名称为 {关联属性名}Connection
,如
resourcesConnection
,然后可以发送如下 GraphQL 查询:
query test($id: String) {
NopAuthSite__get(id: $id) {
id
resources: resourcesConnection(first: 10, after: "") {
total
items {
resourceId
resourceType
displayName
}
pageInfo {
startCursor
endCursor
hasNextPage
hasPreviousPage
}
}
}
}
variables:
id: "test2"
其中,resourcesConnection
接受的参数类型为
GraphQLConnectionInput
,返回的结果类型为
GraphQLConnection
。
该机制会在主查询的结果中逐条进行子查询,因此可能会出现明显的性能问题, 在性能问题较明显时,需考虑在 SQL Mapper 中做自定义查询。