Entity Framework tiene traccia di tutti gli oggetti letti dal database o attaccati manualmente al contesto. Questo comportamento è necessario per mantenere lo stato degli oggetti e verificarne eventuali modifiche per la successiva persistenza sul database. Tenere traccia degli oggetti ha un costo, quindi, se sappiamo che gli oggetti che dobbiamo recuperare in una query non devono essere modificati, possiamo disabilitare il tracking utilizzando il metodo AsNoTracking.
using (var ctx = new MyContext()) { var p = ctx.People .AsNoTracking() .ToList(); }
Possiamo anche impostare il tracking a livello di contesto tramite la proprietà ChangeTracker.QueryTrackingBehavior così come nel prossimo esempio.
using (var ctx = new MyContext()) { ctx.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; var p = ctx.People.ToList(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Determinare lo stato di un pod in Kubernetes
Sostituire la GitHub Action di login su private registry
Assegnare un valore di default a un parametro di una lambda in C#
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Gestire domini wildcard in Azure Container Apps
Utilizzare Tailwind CSS all'interno di React: installazione
Le novità di Entity Framework 8
Paginare i risultati con QuickGrid in Blazor
Creare gruppi di client per Event Grid MQTT
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente