इस समस्या को हल करने के लिए निम्न चरणों का उपयोग करें:
- आपको एक फ़ंक्शन के रूप में संग्रहीत कार्यविधि को आयात करने की आवश्यकता है। अपने एंटिटी मॉडल के कार्यक्षेत्र क्षेत्र पर राइट-क्लिक करें और
Add -> Function Import
चुनें । - फ़ंक्शन आयात जोड़ें संवाद में, वह नाम दर्ज करें जिसे आप अपने मॉडल में संदर्भित करना चाहते हैं, उदाहरण के लिए
Search_Products
, ड्रॉप डाउन सूची से अपनी प्रक्रिया चुनें, औरEntities
होने के लिए प्रक्रिया का वापसी मान चुनें औरProducts
choose चुनें ड्रॉप डाउन सूची से। -
फिर पीछे के कोड में:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM);//Search_Products is the name that you specified in Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
आपको -1
get मिलने का कारण परिणाम के लिए यह है कि एंटिटी फ्रेमवर्क बॉक्स के बाहर संग्रहीत प्रक्रिया वापसी मूल्यों का समर्थन नहीं कर सकता है। मुझे लगता है कि संग्रहीत प्रक्रिया वापसी मूल्यों का समर्थन इकाई ढांचे के संस्करण पर निर्भर करता है। इसके अलावा एंटिटी फ्रेमवर्क में समृद्ध संग्रहित प्रक्रिया समर्थन नहीं है क्योंकि यह एक ओआरएम है, एसक्यूएल प्रतिस्थापन नहीं।