SqlCommand到T-SQL

有没有办法如何将SqlCommand对象转换为实际的T-SQL命令,该命令被发送到SQL Server?

我不这么认为,params和查询文本分别发送到SQL Server,SQL Server相应地处理它们。 您可以从SqlCommand.CommandText获取查询,并且参数存储在SqlCommand.Parameters集合中。 您必须执行一些字符串操作才能将其转换为查询,但即使这样,您也会遇到与发送到SQL Server的内容不同的内容。

这个问题也有一些有趣的信息: SqlCommand如何清理参数?

我实际上在考虑像这个扩展(不正常,只是想法):

public static string ToQuery(this SqlCommand command) { StringBuilder sb = new StringBuilder(); sb.Append("exec "); sb.Append(command.CommandText); List parameters = new List(); for (int i=0; i 0) sb.Append(string.Join(",", parameters.ToArray())); return sb.ToString(); }