Quando eseguiamo una query, Entity Framework tiene traccia degli oggeti recuperati così da poter persistere eventuali modifiche e da poter mantenere una sola istanza in memoria per ogni oggetto letto. Queste funzionalità hanno un costo in termini di performance, quindi, quando abbiamo query in sola lettura, possiamo disabilitarle.
Per disabilitare il tracking a livello di query è sufficiente invocare il metodo AsNoTracking esattamente come mostrato nel prosimo esempio.
using (var ctx = new MyContext())
{
var people1 = ctx.People.AsNoTracking().Where(p => p.Name.StartsWith("S")).ToList();
var people2 = ctx.People.Where(p => p.Name.StartsWith("T")).ToList();
}In questo caso, gli oggetti estratti dalla prima query non vengono tracciati mentre quelli della seconda query vengono tracciati. Questa funzionalità era già presente in Entity Framework 6, ma in Entity Framework Core è stata anche aggiunta la possibilità di disabilitare il tracking a livello di context impostanto la variabile ChangeTracker.QueryTrackingBehavior.
using (var ctx = new MyContext())
{
ctx.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
var people1 = ctx.People.Where(p => p.Name.StartsWith("S")).ToList();
var people2 = ctx.People.Where(p => p.Name.StartsWith("T")).ToList();
}In questo caso anche senza il metodo AsNoTracking, gli oggetti della prima e della seconda query non vengono tracciati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzo di CSS Scroll Snap per realizzare un carousel
Blue/Green Release in locale con .NET Aspire
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Effettuare chiamate API tramite GitHub App
Creare un agente A2Acon Azure Logic Apps
Integrazione di Copilot in .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Cambiamenti in OpenAPI per la documentazione di ASP.NET
Ricerca delle GitHub issue tramite operatori logici
Dallo sviluppo locale ad Azure con .NET Aspire
Raggruppare risorse in .NET Aspire
Avviare rapidamente un container con Azure Container Apps Express
I più letti di oggi
- .NET Conference Italia 2026 - Milano
- Quando utilizzare Aspire e Dapr insieme
- le app #windows sono tornate al potere con #netcore3 @leoncini117 ci fa vedere tutte le novità con #netcore3 su #netconfit19 live ora su https://aspit.co/netconf-19 #aspilive #wpf #winforms #windev#dotnet #dotnetcore #netconference #dotnetconference


