Eseguire una stored procedure specificando le MergeOption tramite la classe ObjectContext di Entity Framework

di Stefano Mostarda, in LINQ, Entity Framework,

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

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