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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ordine e importanza per @layer in CSS
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Aggiornare a .NET 9 su Azure App Service
Recuperare gli audit log in Azure DevOps
Rendere le variabili read-only in una pipeline di Azure DevOps
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Creare una libreria CSS universale: Cards
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Ridurre il reflow ottimizzando il CSS
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Eseguire query in contemporanea con EF