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 QuickGrid di Blazor con Entity Framework
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Change tracking e composition in Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Filtrare i dati di una QuickGrid in Blazor con una drop down list
I più letti di oggi
- Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
- Utilizzare StartsWith ed EndsWith con Span
- Utilizzare l nesting nativo dei CSS
- Microsoft lancia il nuovo tool gratuito 'ASP.NET Web Matrix Project'
- Managed deployment strategy in Azure DevOps
- Forzare l'apertura di un file fuori dal browser
- Configurare e gestire sidecar container in Azure App Service