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
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Anonimizzare i dati sensibili nei log di Azure Front Door
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare una libreria CSS universale: Clip-path
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Utilizzare Azure AI Studio per testare i modelli AI
Configurare e gestire sidecar container in Azure App Service