2011-03-03 9 views
6

पर संग्रहीत प्रक्रिया चलाएं, मैं देख रहा हूं कि विस्तारित गुण EF 4.0 में इकाइयों का हिस्सा बनने के लिए किए जा सकते हैं, जब .edmx उत्पन्न होता है या डेटाबेस से अद्यतन किया गया। मैं एक टी 4 टेम्पलेट में .edmx से संग्रहीत प्रक्रिया (फ़ंक्शन) चलाने का एक उदाहरण भी देखना चाहता हूं, क्योंकि मेरे पास एक प्रक्रिया है जो विस्तारित प्रो मान देता है।ईएफ 4.0 प्रविष्टियों के हिस्से के रूप में SQL सर्वर विस्तारित गुणों को निकालें या

धन्यवाद

+0

ईडीएमएक्स फ़ाइल में डीबी मेटा डेटा का उपयोग करने से संबंधित: [मैं एंटिटी डेटा मॉडल डिजाइनर को अपने डेटाबेस कॉलम विवरण का उपयोग कैसे कर सकता हूं?] (Http://stackoverflow.com/questions/2747788/how-can-i बनाओ-इकाई-डेटा-मॉडल-डिजाइनर उपयोग-मेरी-डेटाबेस स्तंभ-वर्णन) –

उत्तर

2

तो, कुछ बातें ध्यान में यहाँ सहन करने के लिए:

  • डिजाइनर वास्तव में विस्तृत नहीं है, लेकिन प्रदाता है। यह वास्तव में बहुत मदद नहीं करता है क्योंकि ईएफ प्रदाता लिखना पार्क में पैदल नहीं है। यह वास्तव में जटिल है।
  • मेटाडेटा से संबंधित बिट्स सहित डिज़ाइनर से संबंधित कोड, अधिकतर सीलबंद और आंतरिक और लगभग पूरी तरह से अनुपयोगी है।
  • हालांकि, ईडीएमएक्स फ़ाइल (एक्सएमएल फ़ाइल स्वयं) बहुत अच्छी तरह से प्रलेखित है: http://msdn.microsoft.com/en-us/data/jj650889 ... जब तक आप चिपके रहते हैं, आप स्वयं को एक्सएमएल (हाथ से या कुछ ऐड-इन या बाहरी उपयोगिता के माध्यम से) में स्वतंत्र रूप से संशोधित कर सकते हैं विनिर्देशों के लिए।

सामान्य विचार यह है कि आप विस्तारित गुणों को पढ़ने और EDMX XML को बदलने के लिए अपने स्वयं के टूल का उपयोग कर सकते हैं।

आप एसएसडीएल (ईडीएमएक्स में स्टोर मेटाडाटा) तत्वों में "एनोटेशन" जोड़ देंगे। ये एनोटेशन मान डीबी में सापेक्ष संस्थाओं के आपके विस्तारित गुणों पर आधारित होंगे।

बाद में, जब टी 4 निष्पादित होता है, तो टी 4 को ईडीएमएक्स तत्वों के आधार पर मेटाडेटा संग्रह प्राप्त होता है। इस मेटाडाटा में एनोटेशन शामिल होंगे जो आपने पहले लिखा था। किसी भी तत्व के बारे में सिर्फ एक या अधिक एनोटेशन हो सकते हैं। फिर आप अपने विस्तारित गुणों पर आधारित एनोटेशन को संभालने के लिए टी 4 टेम्पलेट में कस्टम कोड जोड़ सकते हैं। डिजाइनर एनोटेशन नहीं दिखाएगा, और आप उन्हें डिजाइनर में कुशल नहीं बना सकते हैं, लेकिन इसे संरक्षित करना चाहिए (यदि वे ईडीएमएक्स में मौजूद हैं तो उन्हें ओवरराइट नहीं करेंगे)।

बेशक, डिज़ाइनर एक्स्टेंसिबल होने पर, या डिज़ाइनर से संबंधित कोड आपके द्वारा प्रयोग योग्य होने पर भी यह बहुत आसान होगा। अभी, यह मामला नहीं है। ईएफ के अधिकांश हिस्से खुले स्रोत पर जा रहे हैं, लेकिन डिजाइनर अभी भी वहां नहीं है (अभी तक)। यदि डिजाइनर कभी भी ओपन सोर्स में जाता है, तो आप शायद इसका उपयोग शुरू करने के लिए बदलाव कर सकते हैं - और यह देखते हुए कि समुदाय इस तरह की सुविधा मांगता रहता है, मुझे लगता है कि समुदाय इसे वैसे भी करने के लिए स्रोत बदल देगा। तब तक, आपको ईडीएमएक्स मैन्युअल रूप से संपादित करना होगा या आपके लिए यह करने के लिए कुछ टूल लिखना होगा।