私はAppStore内でServiceStack MiniProfilerを有効にしています(Application_Start内)。私のページでOrmLiteによって生成されたSQLを見ることができます。 (SS v3.9.59.0を使用して)ServiceStack MiniProfilerは、バインドされたパラメータ名だけでなく、SQLパラメータ値を表示できますか?
何かできないプロファイルトレースに表示されているのは、バインドされたパラメータの値です。 OrmLiteがLINQ式を@ 0に変換すると、クエリの一部としてDBに送られた値を見ることができません。私は本当にこのクエリの@0
のために送られたものを値知りたい
SELECT "SettingGroup" , "SettingKey" , "LastModified" , "SettingValue"
FROM "GlobalSetting"
WHERE (("SettingGroup" = @0) AND ("SettingKey" = 'a3849d59864b252a2022b4b8a164add1'))
:
はここプロファイラから例のトレースです。
protected void Application_Start(object sender, EventArgs e)
{
Profiler.Settings.SqlFormatter = new InlineFormatter(true);
new AppHost().Init();
}
私はProfiler.Settings.SqlFormatter
プロパティのいくつかのバリエーションを試してみた:
SqlFormatter = new InlineFormatter();
SqlFormatter = new InlineFormatter(true);
SqlFormatter = new SqlServerFormatter();
- は、そのデフォルト値でそれを残して、全く
SqlFormatter
を設定しない
これらのすべてに同じ結果があり、@0
のみ表示されますが、その値は表示されません。
[共有]リンクをクリックすると、結果のJSON配列にバインドされたパラメータ名とその値が表示されます。私はレンダリングされたプロファイラの出力でそれを見ることができません。
私はパラメータ値を表示するために何をする必要がありますか?
いいえ。それは動作しません。投稿したコードスニペットは、元のMvcMiniProfilerプロジェクトで動作し、ServiceStackに組み込まれたフォークでは動作しません。 SSフォークされたコードは次のようになります。 Profiler.Settings.SqlFormatter = new ServiceStack.MiniProfiler.SqlFormatters.SqlServerFormatter(); しかしそれでも動作しません。私は@ 0記号だけを見るが、@ 0の値は見ない –