Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SMO的嵌套级SQL依赖关系树_C#_Sql Server_Winforms_Smo - Fatal编程技术网

C# 使用SMO的嵌套级SQL依赖关系树

C# 使用SMO的嵌套级SQL依赖关系树,c#,sql-server,winforms,smo,C#,Sql Server,Winforms,Smo,我正在使用SQLSMO在我的windows应用程序中构建类似于SQLManagementStudio依赖关系树的树 Server srv = new Server(); var dependencyWalker = new DependencyWalker(srv); var dependencyTree = dependencyWalker.DiscoverDependencies(new Urn[] { srv.Databases["myDB"].Tables["Resource"].Urn

我正在使用SQLSMO在我的windows应用程序中构建类似于SQLManagementStudio依赖关系树的树

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依赖项树中所示

我需要获取我的DB对象(资源)的第一级项目(模型、POP、资源日志、资源类型)?

使用dependencyTree


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

您是对的,我必须使用DependencyTreeNode FirstChild和NextSibling属性来启动导航,问题是在叶级到根级有许多循环引用,绑定时需要避免复杂的逻辑。