Invocare una stored procedure tramite Entity Framework e la classe DbContext in ambito Code-First

di Stefano Mostarda, in LINQ,

Una delle funzionalità non supportate da Entity Framework Code-First è la possibilita di invocare una stored procedure tramite la Function nell'EDM. Per superare questa limitazione dobbiamo lanciare manualmente il comando di esecuzione della stored procedure tramite il metodo SqlQuery della classe Database esposta dal DbContext.

return ctx.Database.SqlQuery<Person>
  ("execute FindPersonByUsername {0}", username).First();

Come si vede dal seguente codice, per passsare i parametri alla stored procedure si usa la stessa sintassi del metodo Format della classe string.
E' importante notare che passare i parametri come nell'esempio mostrato non causa problemi di SQL Injection quindi questa tecnica si può usare senza alcun problema.

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