2015-10-16 86 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感興趣你在做什麼? –