C# 如何获取EA.Element的图对象
我有EA元素。如何获取元素父级的图对象或图id? 我通过表格形式创建EA元素。我想通过编程将此元素添加到父元素的关系图中。 父元素已添加到关系图中C# 如何获取EA.Element的图对象,c#,enterprise-architect,C#,Enterprise Architect,我有EA元素。如何获取元素父级的图对象或图id? 我通过表格形式创建EA元素。我想通过编程将此元素添加到父元素的关系图中。 父元素已添加到关系图中 我怎样才能得到那个父图 您不能在同一个图表中合法地放置同一元素两次。自动化仍然(我猜)允许这样做,但它有奇怪的副作用,所以你不应该尝试它 如果出于任何原因想要这样做,您需要定位图表本身。由于一个元素可以位于多个图中,因此您必须找到相关的图或处理放置它的所有图。要查找它们,您可以发布以下命令: Repository.SQLquery("SELECT d
我怎样才能得到那个父图 您不能在同一个图表中合法地放置同一元素两次。自动化仍然(我猜)允许这样做,但它有奇怪的副作用,所以你不应该尝试它 如果出于任何原因想要这样做,您需要定位图表本身。由于一个元素可以位于多个图中,因此您必须找到相关的图或处理放置它的所有图。要查找它们,您可以发布以下命令:
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
现在你可以用这些图表做任何你想做的坏事
老实说,在一个图表上有两次元素是合法的。这是通过使用虚拟化连接器实现的。到目前为止,除了一个简短的手动测试外,我还没有使用过它(无论是手动的还是自动的)。如果您需要,我可以看一下。您不能在同一图表中合法地放置同一元素两次。自动化仍然(我猜)允许这样做,但它有奇怪的副作用,所以你不应该尝试它 如果出于任何原因想要这样做,您需要定位图表本身。由于一个元素可以位于多个图中,因此您必须找到相关的图或处理放置它的所有图。要查找它们,您可以发布以下命令:
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
现在你可以用这些图表做任何你想做的坏事
老实说,在一个图表上有两次元素是合法的。这是通过使用虚拟化连接器实现的。到目前为止,除了一个简短的手动测试外,我还没有使用过它(无论是手动的还是自动的)。如果您需要,我可以看一看。元素没有“父关系图”。那么,您在寻找什么呢?让我重新表述一下:我有一个元素,其对应的图对象被添加到“图”中。如何创建一个新的图表对象并将其添加到“图表”中?您是指同一个图表?是的,同一个图表。元素没有“父图表”。那么,您在寻找什么呢?让我重新表述一下:我有一个元素,其对应的图对象被添加到“图”中。我如何创建一个新的图表对象并将其添加到“图表”中?你是指同一个图表?是的,同一个图表。嗨,托马斯,谢谢你的回答。我按照建议做了尝试,但我得到了下面的信息:“SELECT语句包含一个保留字或一个拼写错误或缺少的参数名称,或者标点不正确”嗨,托马斯,谢谢你的回复。我按照建议做了尝试,但我得到了下面的消息:“SELECT语句包含一个保留字或一个拼写错误或缺少的参数名,或者标点不正确”