2015-10-16 87 views
0

我试图用GetObject方法来获取TSqlObject从引用的项目代表表的实例:如何通过DAC api获得DACPAC项目参考?

var id = new ObjectIdentifier(new[] {"ExternalDb"}, new[] {"Schema", "TableName"}); 

var table = Model.GetObject(ModelSchema.Table, id, DacQueryScopes.All); 

这似乎不幸的是没有工作。

我读过文档,DacQueryScopes.All将获得所有对象,除非在非系统分贝。

所以我想这就是为什么这会失败,但那我该如何达到其他项目中的元素呢?

回答

2

如果要查询引用项目中的对象,请打开该引用项目的dacpac并查询该项目。

ExternalDb是一个指针,但不是您想要的项目的ID。

+0

因此,基本上执行的代码必须已经“知道”一个dacpac项目的依赖关系,可以访问其对应的.dacpac文件并通过'TSqlModel.LoadFromDacpac'方法加载它们。正确? – Crono

+0

是的 - 如果你想枚举对其他dacpacs的引用,那么API(grrrrrr)中没有任何内容,但是你可以使用它来读取或写入它们:https://github.com/GoEddie/Dacpac-References –

+0

out感兴趣你在做什么? –