使用.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);
谢谢!
答案 0 :(得分:0)
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()
。