2013-06-03 15 views
5

में पुरानी शैली एसक्यूएल का उपयोग कैसे करें मैं एमवीसी 4 सीख रहा हूं और मुझे एंटिटी फ्रेमवर्क का विचार मिला है। लेकिन मुझे आश्चर्य है कि कैसे आप MVC में पुरानी शैली एसक्यूएल बयान करना 4.एमवीसी 4

कहते हैं कि मैं एफई कोड के साथ इस कार्रवाई देता है

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

यह सूचकांक में एफई के बजाय एक पुरानी शैली एसक्यूएल करने के लिए संभव है समारोह?

मैं पुरानी शैली एसक्यूएल के साथ क्या मतलब है "रेस्तरां से चयन *"

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

    return View(model); 
} 
+0

पुरानी शैली एसक्यूएल का मतलब ADO.NET है? –

+0

"रेस्टोरेंट से चुनें *" –

+0

तो क्या आपका मतलब linq से sql है? –

उत्तर

12

आप SqlQuery विधि के साथ कच्चे एसक्यूएल निष्पादित कर सकते हैं: Raw SQL Queries:

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

यहाँ MSDN लेख है।

+1

आपको बहुत बहुत धन्यवाद। जैसे ही सिस्टम मुझे –

+1

@ayilmaz का स्वागत करेगा, मैं इसे चिह्नित करूंगा) लेकिन अगर आपको एंटिटी फ्रेमवर्क की पूरी शक्ति है तो वास्तव में आपको इसकी आवश्यकता क्यों है? –

+0

मुझे लगता है कि मेरा प्रश्न बहुत स्पष्ट था और यह नए शिक्षार्थियों –

4

MVC (सभी संस्करण) लगता नहीं है/किसी भी डेटा का उपयोग विधि के लिए मजबूर है, अगर आप 'Linq' तो इसका मतलब यह की तरह है:

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

अब आपके पास एक गणना करने योग्य संग्रह के रूप में परिणाम है, जैसा आप चाहते हैं उसका उपयोग करें।

उम्मीद है कि मदद करता है।