背景
驾车穿越未知城市时,通常最好有一张地图可以帮助引导您前往目的地。同样,在第一次查看遗留代码时,通常最好有一个可以概述应用程序内部关系的图表。
示例
在这种情况下,我被要求查看遗留的{以数据为中心的}应用程序,以便更好地了解它如何管理它的数据库连接。或者更具体地说,我正在尝试生成一个类图,其中概述了Program
和System.Data.Common.DbConnection
之间的关系。
问题
我对NDepend相对较新,并且在编写适当的CQLinq语句时遇到困难。不幸的是,以下内容仅显示程序集及其相互之间的关系。如何修改此查询以显示两种类型之间的关系?
非常感谢您提供的任何见解!
from t in Assemblies
where t.DepthOfIsUsedBy("MyCompany.MyProject.MyNamespace.Program") >=0 &&
t.DepthOfIsUsing("System.Data.Common.DbConnection") >=0
select new { t, t.NbLinesOfCode}
答案 0 :(得分:1)
from t in Assemblies
表示t是一个程序集。
您应该尝试from t in Application.Types
:
// <Name>Display relationships between two types</Name>
from t in Application.Types
where t.DepthOfIsUsedBy("Company.Project.NamespaceA") >=0 &&
t.DepthOfIsUsing("Company.Project.NamespaceZ") >=0
select new { t, t.NbLinesOfCode}