2013-06-03 3 views
5

Ich lerne MVC4 und ich habe die Idee von Entity Framework. Aber ich frage mich, wie man die alten Stil von SQL-Anweisungen zu tun in MVC 4.wie man alten Stil sql in mvc4 verwendet

können sagen, ich habe diese Aktion mit EF Code

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

Ist es möglich, einen alten Stil SQL anstelle von EF im Index zu tun Funktion?

, was ich mit alten Stil sql meine ist, wie "select * from Restaurant"

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

    return View(model); 
} 
+0

Old style SQL bedeutet ADO.NET? –

+0

like "Wählen Sie * aus dem Restaurant" –

+0

Sie meinen also linq to sql? –

Antwort

12

Sie können roh SQL mit SqlQuery Methode ausführen:

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

Hier Artikel MSDN: Raw SQL Queries.

+1

vielen Dank. Ich werde es markieren, sobald das System mich –

+1

@ayilmaz willkommen lässt) aber warum brauchen Sie das wirklich, wenn Sie die ganze Macht von Entity Framework haben? –

+0

Ich denke, meine Frage war sehr offensichtlich und es war eine sehr häufige Frage für neue Lerner –

4

MVC (alle Versionen) nicht annehmen/zwingen, jede Datenzugriffsmethode, wenn Sie meinen 'Linq' dann:

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

Jetzt haben Sie das Ergebnis als eine aufzählbare Auflistung, verwenden Sie es wie Sie möchten.

Hoffe, dass hilft.

Verwandte Themen