使用NDepend查找存储过程依赖项

时间:2012-12-04 15:28:44

标签: c# ndepend

我正在维护一个庞大的代码库,它在SQL Server中使用了数百个存储过程。要删除未使用的过程,我们需要找到仍在使用的过程。我写了一小部分CQL,它可以告诉我所有依赖于SqlCommand的方法。在大多数情况下,此类的使用由向导生成的XSD执行:

/// <Name>Stored Procedure Usage</Name>

from m in JustMyCode.Methods

// Find usage of the property setter (principally XSD generated code)
let depth0 = m.DepthOfIsUsing("System.Data.Common.DbCommand.set_CommandText(String)")

// Find usage of the constructor (principally manual code)
let depth1 = m.DepthOfIsUsing("System.Data.SqlClient.SqlCommand..ctor(String,SqlConnection)")

where (depth0 >= 0 || depth1 >= 0)
select new { m, m.ParentType, m.ParentAssembly }

过程名称是内联定义的字符串,并分配给SqlCommand.CommandText:

this._adapter.InsertCommand.CommandText = "dbo.InsertStudentAddress";

有没有办法在我的select new {}

中打印出这个名字?

1 个答案:

答案 0 :(得分:1)

  

有没有办法在我选择的新{}中打印出这个名字?

没有办法,NDepend Code Query Linq不读取字符串常量。这是我们将来可能添加的功能。