2010-05-12 18 views
5

में वेब पार्ट के डेटा स्रोत के रूप में इकाई फ्रेमवर्क का उपयोग करना मेरे पास एक बहुत ही सरल वेब हिस्सा है। मेरे पास एक सिंगल ग्रिड व्यू है, जिसे मैं linq का उपयोग करके इकाइयों में पॉपुलटिंग कर रहा हूं (या कम से कम यही वह है जो मैं करना चाहता हूं)। एंटिटी डेटा मॉडल .edmx फ़ाइल वेब प्रोजेक्ट के समान प्रोजेक्ट में स्थित है, और सबकुछ कामकाजी क्रम में दिखता है। जब मैं परियोजना डिबग, यह त्रुटि संदेश के साथ इकाई मॉडल निर्माता पर चल रही है:शेयरपॉइंट 2010

निर्दिष्ट नामित कनेक्शन या तो विन्यास में नहीं मिला है, EntityClient प्रदाता के साथ इस्तेमाल किया जा करने का इरादा नहीं, या मान्य नहीं है।

इस प्रकार

app.config में मेरे कनेक्शन स्ट्रिंग है:

<add name="MyDBEntities" connectionString="metadata=res://*/MyDBEntityModel.csdl|res://*/MyDBEntityModel.ssdl|res://*/MyDBEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

निर्माता:

public MyDBEntities() : base("name=MyDBEntities", "MyDBEntities") 

तो, क्या मैं कहीं और पढ़ा है से, मेरी समस्या यह है कि SharePoint है मेरी कनेक्शन स्ट्रिंग नहीं देख सकता। जिसका अर्थ है कि, जब मैं प्रोजेक्ट चलाता/डीबग करता हूं तो मेरी प्रोजेक्ट से ऐप.कॉन्फिग वास्तव में शेयरपॉइंट में लोड नहीं हो रहा है। यदि ऐसा है, तो मैं अपने प्रोजेक्ट को विजुअल स्टूडियो 2010 में कैसे सेट अप करता हूं यह सुनिश्चित करने के लिए कि SharePoint ऐप को इंस्टॉल करता है। मास्टर SharePoint कॉन्फ़िगरेशन फ़ाइल के अतिरिक्त कॉन्फ़िगर करें। अगर मुझे कनेक्शन स्ट्रिंग को मैन्युअल रूप से कॉपी करना है, तो ऐसा करने के लिए "सर्वोत्तम अभ्यास" प्रक्रिया है? क्या एंटरप्राइज़ फ्रेमवर्क के साथ संयुक्त शेयरपॉइंट वेब पार्ट्स प्राइम टाइम के लिए तैयार नहीं हैं?

उत्तर

6

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

SharePoint API में SPWebConfigModification नामक ऑब्जेक्ट है। आपको एक फीचर एक्टिवेटेड इवेंट लिखना चाहिए जो इस कक्षा का उपयोग वेब.कॉन्फिग में अपना संशोधन करने के लिए करता है और उसके बाद फीचरडिक्टिवेटिंग इवेंट जो संशोधन को हटा देता है।

-Greg

+0

:) बहुत बहुत धन्यवाद, आप मुझे एफई से बाहर सामान बढ़ने से बचाया – anpatel

1

मैं किसी SharePoint 2010 WebPart में एक ही अपवाद के साथ कुश्ती गया था, और मैं अंत में यह काम कर रहा है, लेकिन यहां दो महत्वपूर्ण बातें है कि मैं रास्ते में सीखा है।

  1. आपको सैंडबॉक्स समाधान की बजाय कृषि समाधान का उपयोग करना होगा। इसका कारण यह है कि सैंडबॉक्स समाधान साइट संग्रह के बाहर डेटा तक पहुंच नहीं है। इसे और अधिक सार्थक अपवाद जल्दी से हल करने में मददगार होगा, लेकिन मुझे ऊपर के रूप में अपवाद प्राप्त हो रहा था।

  2. आपकी कनेक्शन स्ट्रिंग वेब एप्लिकेशन के web.config में होना चाहिए जिसे आपने अपना वेबपार्ट इंस्टॉल किया है। जब आप अपना वेबपार्ट इंस्टॉल करते हैं तो यह स्वचालित रूप से नहीं जोड़ा जाता है, इसलिए आपको या तो ग्रेग सूचियों के तरीके से वेब.कॉन्फिग को अपडेट करना होगा, या इसे मैन्युअल रूप से संपादित करना होगा। यह सी में बैठता है: \ inetpub \ wwwroot \ WSS \ VirtualDirectories {WebApplicationName} \ web.config

संबंधित मुद्दे