Utilizzare il metodo SqlQuery per eseguire query custom sul database con Entity Framework

di Stefano Mostarda, in LINQ, Entity Framework,

Per quanto LINQ sia potente, non tutte le query di cui abbiamo bisogno possono essere scritte tramite questo linguaggio. Inoltre, a volte il motore di generazione SQL da LINQ genera codice poco performante. In questi casi è conveniente creare direttamente a mano il codice SQL che vogliamo eseguire sul database e farci comunque restituire oggetti.
Per fare questo dobbiamo utilizzare il metodo SqlQuery della classe DbSet. Questo metodo accetta in input la stringa SQL da eseguire sul database e restituisce gli oggetti del tipo del DbSet. Nel prossimo esempio vediamo come utilizzare questo metodo.

var people = context.People.SqlQuery("SELECT * FROM people").ToList();

Nel caso in cui vogliamo passare dei parametri alla nostra query, possiamo utilizzare la seguente sintassi:

var people = context.People.SqlQuery("SELECT * FROM people WHERE name = @p0", "stefano").ToList();


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

Nessuna risorsa collegata

I più letti di oggi