2

使用最新稳定版本的 MiniProfiler (3.2) 我遇到了命令的参数列表为空的问题。该命令的 SQL 可以通过 MiniProfiler 很好地打印出来,但实际上并没有删除参数。

SQL 的输出(例如)正在显示,我相信执行如下:

   Select person_ID, first_NME, last_NME from Customer where customer_Id = @p0

当查询执行时,我收到一条错误消息:必须声明标量变量“@p0

我能够调试并查看 miniProfiler 的 DBCommand,它在参数列表中没有任何内容。

有没有人遇到过这个?我已经尝试设置 SQLFormatter,但我认为这没有帮助,因为我没有任何参数。

4

1 回答 1

0

如果您收到这样的错误:

必须声明标量变量“@p0”

这来自 MiniProfiler 下的 ADO.NET 驱动程序(来自您要连接的任何数据库 - 我在这里假设SQL Server 但这适用于所有数据库)。MiniProfiler 的参数列表应该显示为空,因为它实际上是空的,这与异常的来源相同。

但是,如果你在没有MiniProfiler 的情况下仍然看到这个并且它以某种方式干扰......我很感兴趣。

注意:其中很多内容已在 MiniProfiler v4 中重写,目前在 NuGet 上的测试版中可用。本周在 Stack Overflow 上对其进行了测试后,如果一切顺利,它应该很快就会看到 4.0 RTM。如果您发现 v4 的错误,请在以下位置向我发送问题:https ://github.com/MiniProfiler/dotnet/issues ,我会尽快查看。

于 2018-03-18T12:55:11.373 回答