Quando importiamo una stored procedure nel conceptual schema, il template che genera la classe che eredita da ObjectContext crea un metodo per la stored procedure. Il metodo prende il nome della stored procedure ed accetta in input i parametri di questa. Tuttavia, spesso capita che le entity restituite dalla stored procedure debbano solamente essere visualizzate.
In tal caso si potrebbero ottimizzare le performance eliminando il tracking per queste entity. Il metodo creato dal template non offre la possibilità di disabilitare il tracking. Tuttavia possiamo utilizzare il metodo ExecuteFunction<T> che ci permette di specificare la modalità di tracking.
ctx.ExecuteFunction("SPName", MergeOption.NoTracking);
Il primo parametro rappresenta il nome della stored procedure, mentre il secondo parametro rappresenta la modalità di traking delle entity restituite dalla stored procedure. Se la stored procedure accetta parametri, questi sono passati dopo il tracking.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Copiare automaticamente le secret tra più repository di GitHub
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Migrare una service connection a workload identity federation in Azure DevOps
Usare lo spread operator con i collection initializer in C#
Limitare le richieste lato server con l'interactive routing di Blazor 8
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Installare le Web App site extension tramite una pipeline di Azure DevOps
Code scanning e advanced security con Azure DevOps