Ich habe das ServiceStack MiniProfiler in meinem AppHost (in Application_Start) aktiviert, und ich kann das von OrmLite auf meiner Seite generierte SQL anzeigen. (unter Verwendung von SS v3.9.59.0)Kann der ServiceStack MiniProfiler SQL-Parameterwerte anzeigen, nicht nur die gebundenen Parameternamen?
Was ich kann nicht in der Profilablaufverfolgung sehen Sie die Werte der gebundenen Parameter. Wenn also OrmLite einen LINQ-Ausdruck in @ 0 übersetzt, kann ich den Wert, der als Teil der Abfrage an die DB gesendet wird, nicht sehen.
Hier ist ein Beispiel-Trace aus dem Profiler:
SELECT "SettingGroup" , "SettingKey" , "LastModified" , "SettingValue"
FROM "GlobalSetting"
WHERE (("SettingGroup" = @0) AND ("SettingKey" = 'a3849d59864b252a2022b4b8a164add1'))
ich wirklich wissen möchte, welchen Wert für @0
für diese Abfrage gesendet wurde.
protected void Application_Start(object sender, EventArgs e)
{
Profiler.Settings.SqlFormatter = new InlineFormatter(true);
new AppHost().Init();
}
Ich habe ein paar Varianten der Profiler.Settings.SqlFormatter
Eigenschaft versucht:
SqlFormatter = new InlineFormatter();
SqlFormatter = new InlineFormatter(true);
SqlFormatter = new SqlServerFormatter();
- Nicht
SqlFormatter
überhaupt einstellen, es auf seinem Standardwert verlassen
Alle haben das gleiche Ergebnis und zeigen nur @0
, aber nicht ihren Wert.
Wenn ich auf den Link "Freigabe" klicke, kann ich sowohl den Namen des gebundenen Parameters als auch seinen Wert im resultierenden JSON-Array sehen. Ich kann es nur nicht in der gerenderten Profilerausgabe sehen.
Irgendwelche Ideen, was ich tun muss, um die Parameterwerte zu zeigen?
Nein. Das funktioniert nicht. Das Code-Snippet, das Sie gepostet haben, funktioniert für das ursprüngliche MvcMiniProfiler-Projekt, nicht von der in ServiceStack eingebetteten Verzweigung. Der SS-gegabelte Code wäre: Profiler.Settings.SqlFormatter = new ServiceStack.MiniProfiler.SqlFormatters.SqlServerFormatter(); aber das funktioniert immer noch nicht. Ich sehe nur das @ 0-Symbol, aber nicht den Wert von @ 0 –