क्या इकाई फ्रेमवर्क जेनरेट कॉल से सीधे एसक्यूएल कथन चलाने का कोई तरीका है? या क्या मुझे एक प्रक्रिया बनाना होगा, फिर इकाई ढांचे के माध्यम से कॉल करें?इकाई ढांचे में एसक्यूएल चलाना?
उत्तर
अपने आप को दूसरे दिन इस के लिए चारों ओर Googling था, इस उदाहरण मैं आशा पाया यह
static void ExecuteSql(ObjectContext c, string sql)
{
var entityConnection = (System.Data.EntityClient.EntityConnection)c.Connection;
DbConnection conn = entityConnection.StoreConnection;
ConnectionState initialState = conn.State;
try
{
if (initialState != ConnectionState.Open)
conn.Open();
using (DbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
}
finally
{
if (initialState != ConnectionState.Open)
conn.Close();
}
}
एफई 4.0 में यह बहुत आसान है क्योंकि वहाँ ObjectContext
है कि आप की दुकान आदेशों (यानी एसक्यूएल) सीधे निष्पादित कर सकते हैं पर नए तरीके हैं:
इस देखें: ExecuteStoreCommand
आप अभी भी एफई उपयोग कर रहे हैं 3.5 एसपी 1 आप अभी भी डेटाबेस के खिलाफ सीधे एक प्रश्न पर अमल करता है, तो आप वास्तव में इस तरह करना चाहते हैं कर सकते हैं: इस बिंदु आप अंतर्निहित डेटाबेस से संबंध (dbconn) की पहुंच है पर
var econn = ctx.Connection as EntityConnection;
var dbconn = econn.StoreConnection;
है, तो आप उपयोग कर सकते हैं सामान्य ADO.NET कोड निष्पादित करने के लिए प्रश्नों आदि
आशा इस मदद करता है
एलेक्स
@Alex जेम्स, जिज्ञासा से बाहर, इस कोड का एक पूरा टेक्स्ट एसक्यूएल बिट को चलाने के लिए, के रूप में कुशल हो जाएगा कोई प्रदर्शन ओवरहेड सही नहीं होना चाहिए? कहने के लिए, एसक्यूएल प्रबंधन स्टूडियो में एक क्वेरी के रूप में सीधे एक ही पूर्ण पाठ एसक्यूएल कोड चला रहा है।
ExecuteStoreQuery<>
और ExecuteStoreCommand
मदद करता है कि आप क्या चाहते:
using (NorthWindEntities ctx = new NorthWindEntities())
{
ctx.ExecuteStoreQuery<>()
ctx.ExecuteStoreCommand();
}
- 1. इकाई ढांचे में शामिल
- 2. इकाई ढांचे में विशिष्ट
- 3. इकाई ढांचे में एक इकाई इकाई में एकाधिक टेबल मैपिंग
- 4. इकाई ढांचे में परिपत्र निर्भरता
- 5. इकाई ढांचे में जटिल प्रकार
- 6. चेक बाधा इकाई ढांचे
- 7. अद्यतन इकाई ढांचे ऑब्जेक्ट्स
- 8. इकाई ढांचे और अद्यतन कैस्केड
- 9. इकाई ढांचे के साथ कस्टम एसक्यूएल निष्पादित करें?
- 10. इकाई ढांचे द्वारा उत्पन्न एसक्यूएल कैसे प्राप्त करें
- 11. इकाई ढांचे में विदेशी कुंजी 4.1
- 12. इकाई ढांचे में डिस्कनेक्ट ऑब्जेक्ट अपडेट करें
- 13. इकाई ढांचे में डेटाबेस त्रुटि प्रबंधन
- 14. इकाई ढांचे में संग्रहीत कार्यों का उपयोग
- 15. इकाई फ्रेमवर्क में एसक्यूएल सर्वर पिछड़ा संगतता?
- 16. इकाई ढांचे और डीटैचिंग ऑब्जेक्ट्स
- 17. इकाई ढांचे और मौजूदा क्लॉज
- 18. इकाई ढांचे के साथ डेटाबेस में फ़ाइलों को सहेजें
- 19. इकाई ढांचे 4 बनाम इकाई ढांचे 3.5 का प्रदर्शन कैसा है?
- 20. एसक्यूएल उपयोगकर्ता परिभाषित फ़ंक्शन को इकाई ढांचे में कैसे जोड़ा जाए?
- 21. इकाई ढांचे में एसक्यूएल "इन" को कार्यान्वित करने के लिए कैसे करें 4.0
- 22. मैपिंग इकाई ढांचे में संग्रहीत प्रक्रियाओं का चयन करें
- 23. इकाई ढांचे से संबंधों को कैसे हटाएं
- 24. इकाई ढांचे, पीओसीओ और एक निजी संपत्ति
- 25. मैपिंग निजी संपत्ति इकाई ढांचे कोड पहले
- 26. इकाई ढांचे के साथ गतिशील प्रश्न बनाना
- 27. इकाई ढांचे के साथ क्वेरी आकार सीमित
- 28. ado.net इकाई ढांचे पंक्तियों को हटाएं
- 29. इकाई फ्रेमवर्क: एसक्यूएल बाधाओं
- 30. इकाई ढांचे, संबंधित वस्तुओं को अद्यतन करने में समस्याएं
मैं के उपयोग सलाह होगा ExecuteStoreCommand() उपरोक्त ExecuteSql() के बजाय ऑब्जेक्ट कॉन्टेक्स्ट में –