我可以连接到特定的企业架构师模型吗?

时间:2016-04-13 03:30:24

标签: enterprise-architect

使用.NET,我想从外部应用程序连接到EA模型。

如果我打开了多个EA模型 - 例如两个远程SQL Server托管模型 - 如何指定仅从其中一个模型中提取数据?

# any way to specify a specific data source?
var r = new EA.Repository();

# As I don't think is what I want because:
# 1) didn't want to Open a document -- just connect to it
# 2) don't have a filename - just a model name and/or ConnString...
bool isOpen = r.OpenFile("C:/Sparx-EA/Test Project.EAP");

# etc.
Element ele = r.GetElementByID(10);

谢谢!

2 个答案:

答案 0 :(得分:0)

manual

中记录了这一点
  

OpenFile(string Filename)Boolean

     

注意:这是主要观点   从自动化中打开Enterprise Architect项目文件   客户端,并使用包含的对象   如果需要的话   project是一个DBMS存储库,您已创建了一个快捷方式.eap   包含数据库连接字符串的文件,可以调用它   用于访问DBMS存储库的快捷方式文件   你也可以连接到   SQL数据库通过传入连接字符串本身而不是   文件名。
  可以从Open获取有效的连接字符串   通过选择最近打开的SQL存储库来选择项目对话框   参数:Filename:String - Enterprise的文件名   建筑师项目开放

答案 1 :(得分:0)

Repository.OpenFile()是正确的使用方法。您可以传递一个连接字符串,它不必是一个文件。

Repository对象一次只能连接到一个EA项目。因此,为了在同一进程中连接两个EA项目,请创建两个Repository对象。

最后,像Repository.GetElementByID()这样的调用中使用的数字标识仅在存储库中有效。数字10可能是指两个存储库中的两个不同元素 - 或者可能已在其中一个存储库中删除。如果您知道两个存储库中有相同的元素,请改用Repository.GetElementByGuid()