Molto spesso si ha l'esigenza di sapere che codice SQL genera Entity Framework per eseguire una query scritta con LINQ to Entities o Entity SQL. Per fare questo il modo più semplice è utilizzare il profiler di SQL Server, ma quando questo non è possibile, l'unica alternativa è utilizzare il metodo ToTraceString della classe ObjectQuery<T> da come nell'esempio seguente.
var r = ctx.Order.Where(o => o.ID == 1); string sql = (r as ObjectQuery<Order>).ToTraceString(); return r.ToList();
In questo modo la variabile sql contiene il codice generato da Entity Framework che può quindi essere visualizzata in fase di debug o anche salvata in un file per scopi di logging.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Usare le navigation property in QuickGrid di Blazor
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Loggare le query più lente con Entity Framework
Utilizzare QuickGrid di Blazor con Entity Framework
Generare velocemente pagine CRUD in Blazor con QuickGrid
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Eseguire query in contemporanea con EF
Change tracking e composition in Entity Framework
Filtrare i dati di una QuickGrid in Blazor con una drop down list
I più letti di oggi
- Fissare una versione dell'agent nelle pipeline di Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- Cookie e header custom durante la navigazione con WebView nelle Universal App
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- .NET Conference Italia 2024 - Milano
- Lancio ufficiale di Moonlight 1.0