L'efficienza del database è una delle condizioni necessarie per il buon funzionamento di qualunque applicazione. Per questo motivo, spesso vengono fatti dei monitoring sui tempi di esecuzione delle query sia prima di andare in produzione sia durante l'esercizio. Eseguire questi monitoring a livello di database, ci permette di recuperare le query più lente o più gravose, ma non ci permette di effettuare una cosa molto importante: ricondurre la query SQL al codice LINQ che l'ha generata.
Per semplificare questo compito, EF Core 6 introduce un nuovo extension method: TagWithCallSite. Questo metodo aggiunge alla query un commento con il nome del file e la riga di codice in cui si trova la query LINQ che ha generato il comando SQL.
ctx.People .TagWithCallSite() .Where(...) .OrderBy(...) .ToList();
Il sisultato sara un codice SQL come questo.
-- file: C:\work\QueryLine.cs:21 SELECT * FROM Table WHERE 1=1
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare e gestire sidecar container in Azure App Service
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Gestione dell'annidamento delle regole dei layer in CSS
Change tracking e composition in Entity Framework
Anonimizzare i dati sensibili nei log di Azure Front Door
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Aggiornare a .NET 9 su Azure App Service
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Creare una libreria CSS universale: Nav menu
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Eseguire script pre e post esecuzione di un workflow di GitHub