Skip to content

Commit

Permalink
增加文档
Browse files Browse the repository at this point in the history
  • Loading branch information
entropy-cloud committed Oct 23, 2024
1 parent 80b2b0d commit baa4aeb
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
16 changes: 16 additions & 0 deletions docs/dev-guide/graphql/batch-loader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 批量加载

## 对调用结果执行GraphQL的Loader机制实现动态批量数据加载

```javascript
IEntityDao<NopAuthUser> user = daoProvider.daoFor(NopAuthUser.class);
List<NopAuthUser> list = user.findAll();
IServiceContext svcCtx = null; // 在后端模板运行时上下文中一般存在svcCtx
CompletionStage<Object> future = graphQLEngine.fetchResult(list,
"NopAuthUser", "...F_defaults,status_label,relatedRoleList", svcCtx);
output("result.json5", FutureHelper.syncGet(future));
```

IGraphQLEngine.fetchResult可以根据传入的对象和GraphQL类型,字段选择集动态创建GraphQLFieldSelection,然后执行GraphQL的DataLoader数据加载逻辑。

缺省情况下NopGraphQL访问实体数据时会自动实现批量加载逻辑,对应代码在OrmEntityRefFetcher和OrmEntitySetFetcher中,它们会自动处理ORM层面关联属性和关联集合
3 changes: 3 additions & 0 deletions docs/dev-guide/model/excel-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,3 +192,6 @@ Excel模型中如果定义了`所属模型`这个参数,则会在自动生成`
## 常见问题诊断
1. 在Excel模型中定义了关联属性,但是生成的`app.orm.xml`文件中却没有。
注意关联属性是在【关联列表】中定义,对于列表结构,每一个条目的第一列是序号列,其中必须设置为整数值。![](images/relation.png)

2. 在Excel中定义了字典,但是没有生成dict.yaml文件
注意字典的第一列必须是数字。解析列表结构的时候需要根据第一列确定到底哪些内容是列表的内容。第一列是序号列。

0 comments on commit baa4aeb

Please sign in to comment.