【问题标题】:Nested Level SQL dependency tree using SMO使用 SMO 的嵌套级别 SQL 依赖树
【发布时间】:2015-08-04 09:16:00
【问题描述】:

我正在使用 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、ResourceType)?

【问题讨论】:

    标签: c# sql-server winforms smo


    【解决方案1】:

    使用依赖树。

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

    【讨论】:

    • 你是对的,我必须使用 DependencyTreeNode FirstChild 和 NextSibling 属性来启动导航,问题是叶子级别对根级别的循环引用很多,这需要复杂的逻辑来绑定时避免。
    猜你喜欢
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多