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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.