如何获取EA.Element的图表对象

时间:2016-11-25 14:23:40

标签: c# enterprise-architect

我有EA元素。如何获取元素父级的Diagram对象或Diagram id? 我正在通过表格形式创建EA元素。我想以编程方式将此元素添加到父元素的Diagram中。 父元素已添加到图表中。

我如何获得父图?

1 个答案:

答案 0 :(得分:0)

您无法在同一个图表中合法地放置相同的元素两次。自动化仍然(我猜)允许这样做,但是有奇怪的副作用,所以你不应该尝试它。

如果出于任何原因需要这样做,则需要找到图表本身。由于元素可以在多个图表中,因此您必须找到相关的图表或处理放置它的所有图表。要找到它们,您可以发出以下信息:

Repository.SQLquery("SELECT do.diagram_id FROM t_diagramobjects AS do INNER JOIN t_object ON do.Object_ID = t_object.Object_ID WHERE t_object.ea_guid = '{B979A0E9-17CB-4ed2-ADAB-D6FB3BE10A2B}'")

只需将示例GUID替换为您对象的GUID即可。作为回报,您将获得一个XML字符串,其中列出了使用该元素的所有图表ID。此查询查看使用元素的所有图表对象,并返回相应图表的图表ID。

现在你可以做任何你想用这些图做的邪恶。

老实说,有一种合法的方法可以在图表上使用两次元素。这是通过使用虚拟化连接器。到目前为止,除了简短的手动测试之外,我还没有使用它(既不是手动也不是自动化)。如果你需要,我可以看看。