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
Creare gruppi di client per Event Grid MQTT
Utilizzare i primary constructor di C# per inizializzare le proprietà
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Creare una libreria CSS universale: Cards
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare Tailwind CSS all'interno di React: primi componenti
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Gestire liste di tipi semplici con Entity Framework Core
Creare una libreria CSS universale: i bottoni