使用EA虚拟文档,将包放入ModelDocument类的能力很强,但在许多情况下,我想记录逻辑上属于包的各个程序(由类表示),并将其他东西链接到它们。
我可以为每个查询创建一个ModelDocument实例,但这不是很容易,因为我需要生成一个SQL查询来选择单个项目,因此我需要一个ModelDocument实例来处理我想要的所有部分在文档中,因为我无法将它们组合在一起。
似乎没有任何方法可以从项目浏览器中显示元素的GUID或元素ID,因此我首先需要查询模型,找到GUID,然后保存搜索以引用一个ModelDocument元素。所有这些看起来都很麻烦。
鉴于EA不允许在元素下创建包(这是明智的)但只允许将包链接到ModelDocument,这似乎是对虚拟文档功能的严重限制。
有没有人有更好的方法呢?
(如果没有,我可以提交功能请求。)
答案 0 :(得分:1)
我写了一个名为 ZDG_ElementsByGUID 的非常简单的搜索,其中 Z 就在那里,因为它会显示在我的搜索底部,而 DG 代表DocumentGeneration
这是搜索的SQL代码:
s
我使用元素的GUID作为参数,在我的模型文档的(标记值)中搜索。
您可以通过
获取元素的GUID打开属性视图并从“项目”部分复制
右键单击元素,然后选择select c.ea_guid AS CLASSGUID,c.object_type AS CLASSTYPE,c.name AS Name, c.stereotype AS Stereotype ,package.name AS PackageName ,package_p1.name AS PackageLevel1,package_p2.name AS PackageLevel2,package_p3.name AS PackageLevel3
from ((((t_object c
inner join t_package package on c.package_id = package.package_id)
left join t_package package_p1 on package_p1.package_id = package.parent_id)
left join t_package package_p2 on package_p2.package_id = package_p1.parent_id)
left join t_package package_p3 on package_p3.package_id = package_p2.parent_id)
where
c.ea_guid like '<Search Term>'
使用EA Navigator加载项中的复制GUID按钮
您可以在我的网站上找到一个完整的示例:Tutorial: Generate complex documents from Enterprise Architect with a two-step semi-automated approach