我正在维护一个庞大的代码库,它在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 {}
答案 0 :(得分:1)
有没有办法在我选择的新{}中打印出这个名字?
没有办法,NDepend Code Query Linq不读取字符串常量。这是我们将来可能添加的功能。