使用 SMO 的嵌套级别 SQL 依赖树

Nested Level SQL dependency tree using SMO

我正在使用 SQL SMO 在我的 windows 应用程序中构建类似 sql management studio 依赖树的树

Server srv = new Server();
var dependencyWalker = new DependencyWalker(srv);
var dependencyTree = dependencyWalker.DiscoverDependencies(new Urn[] { srv.Databases["myDB"].Tables["Resource"].Urn }, DependencyType.Parents);
var dependencyCollection = dependencyWalker.WalkDependencies(dependencyTree);

dependencyCollection 是一个包含 8 个 DependencyCollectionNode 项目的平面线性列表,我无法确定任何嵌套级别的依赖关系,如 sql management studio 依赖树中所示。

我需要获取我的数据库对象(资源)的第一级项目(模型、POP、Resource_Log、资源类型)?

使用依赖树。

DependencyWalker 的要点是将树转换为线性列表,以便(例如)可以以正确的顺序创建对象而不产生错误。看来您不需要这个,您应该直接处理 DependencyTree 对象。