Ho il ServiceStack MiniProfiler abilitato nel mio AppHost (in Application_Start), e posso visualizzare l'SQL generato da OrmLite nella mia pagina. (utilizzando SS v3.9.59.0)Il MiniProfiler di ServiceStack mostra i valori dei parametri SQL, non solo i nomi dei parametri associati?
Cosa I non può vedere nella traccia del profilo sono i valori dei parametri associati. Quindi se OrmLite traduce un'espressione LINQ in @ 0, non riesco a vedere il valore inviato al DB come parte della query.
Ecco una traccia ad esempio dal profiler:
SELECT "SettingGroup" , "SettingKey" , "LastModified" , "SettingValue"
FROM "GlobalSetting"
WHERE (("SettingGroup" = @0) AND ("SettingKey" = 'a3849d59864b252a2022b4b8a164add1'))
mi piacerebbe davvero sapere quale valore è stato inviato per @0
per questa query.
protected void Application_Start(object sender, EventArgs e)
{
Profiler.Settings.SqlFormatter = new InlineFormatter(true);
new AppHost().Init();
}
Ho provato alcune varianti della proprietà Profiler.Settings.SqlFormatter
:
SqlFormatter = new InlineFormatter();
SqlFormatter = new InlineFormatter(true);
SqlFormatter = new SqlServerFormatter();
- Non impostando
SqlFormatter
affatto, lasciando al suo valore di default
Tutti hanno lo stesso risultato, mostrando solo @0
ma non il suo valore.
Se faccio clic sul collegamento "Condividi", posso vedere sia il nome del parametro associato che il suo valore nell'array JSON risultante. Non riesco proprio a vederlo nell'output del rendering renderizzato.
Qualche idea di cosa devo fare per mostrare i valori dei parametri?
No. Questo non funziona. Lo snippet di codice che hai pubblicato funziona per il progetto MvcMiniProfiler originale, non per il fork incorporato in ServiceStack. Il codice a forcella SS sarà: Profiler.Settings.SqlFormatter = new ServiceStack.MiniProfiler.SqlFormatters.SqlServerFormatter(); ma ancora non funziona. Vedo solo il simbolo @ 0 ma non il valore di @ 0 –