对于使用自定义查询的“标准”构建器逻辑示意图模板,需要为与此模板相关联的每个逻辑示意图要素类配置查询。还可以在逻辑示意图模板上指定其他的查询,以提供一系列构建“标准”构建器所需的逻辑示意图。在这种情况下,通常在逻辑示意图要素类上指定的查询会被配置为允许过滤与各逻辑示意图相关的数据。如果构建器仅需要构建逻辑示意图,则在逻辑示意图模板上不必指定任何查询。
所有这些被配置的查询都可以在任何类型的数据库中执行。在逻辑示意图生成时期,这些查询会自动执行,以检索数据库表中的记录集,构建器必须根据此记录集来实现在生成的逻辑示意图中所需的逻辑示意图要素。
如果完全基于自定义查询生成“标准”构建器逻辑示意图,则构建器会填充逻辑示意图要素类 - 也就是说,构建器会按照以下方式创建逻辑示意图中所需的逻辑示意图要素:
- 对于与逻辑示意图模板(其自定义查询被配置为在逻辑示意图构建时启动,也就是说,查询具有“生成/更新时进行查询”评估模式)相关联的每个逻辑示意图要素类,构建器会执行自定义查询。
对于由查询返回的各条记录,构建器会在内存中创建逻辑示意图要素,评估要素的属性以及初始化要素的拓扑和几何。
- 如果为相关的逻辑示意图模板指定了逻辑示意图规则,则会对在内存中构建的所有逻辑示意图要素执行这些规则。
- 如果存在与逻辑示意图模板(其自定义查询被配置为在逻辑示意图加载时启动,也就是说,查询具有“开始编辑时进行查询”评估模式)相关联的逻辑示意图要素类,则构建器会执行在各逻辑示意图要素类上配置的自定义查询。
对于由查询返回的各条记录,构建器会在内存中创建逻辑示意图要素,评估要素的属性以及初始化要素的拓扑和几何。
- 如果存在为逻辑示意图模板配置的默认逻辑示意图布局算法,则会执行此算法,并且会相应地更新内存中的所有逻辑示意图要素的几何。
- 生成过程启动之后,内存中的所有逻辑示意图要素都将保存在逻辑示意图数据集的逻辑示意图要素类中。
- 创建的所有逻辑示意图要素都从逻辑示意图要素类中进行查询,并会显示逻辑示意图。
在逻辑示意图要素的生存时间内(也就是说在从逻辑示意图数据集中将其删除之前),可随时将这些要素
- 重新打开
- 编辑、布局和保存
- 更新以使逻辑示意图要素的内容始终与已经从中构建逻辑示意图的数据库保持一致 - 也就是说,更新以使对该数据库中的记录产生影响的每项更改都能在关联的逻辑示意图要素上显示