Taggare le query create con EF Core con informazioni di debug sul codice

di Stefano Mostarda, in LINQ, Entity Framework,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi