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
Ordinare randomicamente una lista in C#
Migliorare la sicurezza dei prompt con Azure AI Studio
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Gestire domini wildcard in Azure Container Apps
Creare un webhook in Azure DevOps
Generare token per autenicarsi sulle API di GitHub
Routing statico e PreRendering in una Blazor Web App
Miglioramenti agli screen reader e al contrasto in Angular
Usare le navigation property in QuickGrid di Blazor
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Filtering sulle colonne in una QuickGrid di Blazor
Gestire undefined e partial nelle reactive forms di Angular