2013-06-03 13 views
5

Sto imparando MVC4 e ho avuto l'idea di Entity Framework. Ma mi chiedo come si fanno le istruzioni SQL di vecchio stile in MVC 4.come usare sql vecchio stile in mvc4

Diciamo che ho questa azione con il codice di EF

public ActionResult Index(){ 
    var model = from r in restaruants 
       select r; 
    return View(model); 
} 

E 'possibile fare un vecchio SQL stile invece di EF nell'indice funzione?

cosa intendo con il vecchio SQL stile è come "select * from ristorante"

public ActionResult Index(){ 
    /* Can I have something like this? */ 
    var model = Return_Model_Somehow("select * from restaurants"); 

    return View(model); 
} 
+0

SQL vecchio stile significa ADO.NET? –

+0

come "seleziona * dal ristorante" –

+0

quindi intendi da linq a sql? –

risposta

12

È possibile eseguire SQL crudo con SqlQuery metodo:

var model = context.Database.SqlQuery<Restauraunt>("SELECT * FROM Restaruants") 
        .ToList(); 
return View(model); 

Qui è l'articolo di MSDN: Raw SQL Queries.

+1

grazie mille. Lo contrassegnerò non appena il sistema mi consentirà di dare il benvenuto a –

+1

@ayilmaz), ma perché ne hai davvero bisogno, se hai tutto il potere di Entity Framework? –

+0

Penso che la mia domanda fosse molto ovvia ed era una domanda molto comune ai nuovi studenti –

4

MVC (tutte le versioni) non supporre/forzare qualsiasi metodo di accesso ai dati, se si intende 'Linq' allora:

string q = "SELECT *FROM Table1"; 
IEnumerable<Entities.Table1> res = context.ExecuteQuery<Entities.Table1>(q); 

Ora hai il risultato come una collezione enumerabile, usalo come vuoi.

Spero che questo aiuti.

Problemi correlati