2012-10-08 21 views
33

पुराने प्रोजेक्ट को बेहतर बनाने के लिए मुझे परिस्थितियों द्वारा वीएस 2008 और फ्रेमवर्क 3.5 का उपयोग करने के लिए मजबूर किया गया है - मुझे एडीएमएक्स के साथ विचित्र व्यवहार दिखा रहा है और संस्थाओं को अपडेट नहीं किया गया है की आवश्यकता है।इकाई फ्रेमवर्क त्रुटि - त्रुटि 11009: संपत्ति '' मैप नहीं किया गया है

एडीएमएक्स मुझे उपरोक्त त्रुटि फेंकता है, लेकिन जब मैं संबंधित तालिका में जाता हूं और राइट क्लिक करता हूं - "डेटाबेस से मॉडल अपडेट करें" में कोई बदलाव नहीं है, त्रुटि अभी भी है।

यदि मैं इसे चुनकर और डेल दबाकर आरेख से तालिका हटा देता हूं, तो मॉडल ब्राउज़र में यह। डाटाबेस से गायब हो जाता है लेकिन "डेटाबेस से मॉडल अपडेट करें" पर क्लिक करते समय मैं "एड" में नहीं देख सकता सूची, मैं बस इतना कर सकता हूं कि तालिका को "ताज़ा करें" क्योंकि मैं इसे रीफ्रेश सूची में देखता हूं (जो नहीं होना चाहिए क्योंकि मैंने इसे हटा दिया है!)

+1

जांच अपने मॉडल के xml फ़ाइल, यह शायद अभी भी वहाँ कहीं में है। इसे उस XML फ़ाइल से मैन्युअल रूप से हटाने का प्रयास करें, फिर पुन: अद्यतन करने का प्रयास करें। बैकअप ले लो :) – Thousand

+0

आपका sugegstion काम किया। कृपया उत्तर के रूप में फिर से लिखें ताकि मैं क्रेडिट –

+0

त्रुटि दे सकूं xml फ़ाइल से लाइन नंबर उस पंक्ति पर जाएं, त्रुटि सहेजने में निर्दिष्ट नाम के साथ एक स्केलर प्रॉपर्टी जोड़ें ... और पुनर्निर्माण .. –

उत्तर

41

अपने मॉडल की एक्सएमएल फ़ाइल जांचें, यह शायद कहीं कहीं भी है। इसे उस XML फ़ाइल से मैन्युअल रूप से हटाने का प्रयास करें, फिर पुन: अद्यतन करने का प्रयास करें। हालांकि बैकअप लेना सुनिश्चित करें।

+2

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

+0

मुझे लगता है कि यह कुछ हद तक एक समाधान है। दुर्भाग्यवश, मॉडल में भी यह संपत्ति है ... और जब मैं मॉडल में संपत्ति को हटाने का प्रयास करता हूं और अपडेट करने का प्रयास करता हूं, - अपडेट विज़ार्ड प्रत्येक बार क्रैश हो जाता है। – user1841243

2

कभी-कभी, किसी प्रोजेक्ट को अपग्रेड करना त्रुटियों को फेंकता है।

बस सुनिश्चित करें कि आपने अपने सभी डेटा का बैक अप ले लिया है, बस-मामले में।

हम अपने परियोजना में इकाई मॉडल जोड़ते हैं तो वह एक इसी कनेक्शन स्ट्रिंग को web.config कहते हैं। अब, जब आप प्रोजेक्ट से मॉडल को हटाते हैं, तब भी कनेक्शन स्ट्रिंग अभी भी web.config में रहता है।

तो, निम्नलिखित कदम उठाएँ:

  1. मॉडल
  2. हटाएँ web.config
  3. से इसी कनेक्शन स्ट्रिंग अब हटाएँ, खरोंच से फिर से मॉडल जोड़ने के लिए चरणों को पूरा करने।

उम्मीद है कि इसे काम करना चाहिए।

+1

नीचे वोट के साथ कोई समस्या नहीं है, लेकिन कृपया नीचे वोट के लिए कारण निर्दिष्ट करें। यह उत्तर वही बात बताता है जो 'स्वीकृत उत्तर' करता है। –

+2

@ दारादेव, मैं सहमत नहीं हूं, आपका समाधान स्वीकार किए गए एवर से बिल्कुल अलग है, स्वीकार्य उत्तर edmx (xml) फ़ाइल में हटाए गए पुराने/बदले गए गुणों को कहता है, और फिर फिर से अपडेट करें। आप चाहते हैं कि हम पूरी तरह से मॉडल को हटा दें, जो भी कामकाजी काम करेगा, लेकिन यह निश्चित रूप से वही नहीं है। – Michiel

3

मुझे यह वही त्रुटि मिली है जब टेबल या दृश्यों पर कॉलम नाम बदलते हैं। उदाहरण के लिए, यदि किसी दृश्य में "ऑर्डर आईडी" नामक कॉलम होता है और फिर कॉलम का नाम "ऑर्डरआईडी" में बदल दिया जाता है तो यह त्रुटि 'संपत्ति "ऑर्डर आईडी" मैप नहीं किया जाएगा "। इस मामले को मॉडल में बदलने के तरीके को वापस बदलकर हल किया जा सकता है।

36

जब मैंने CampaignKey से CampaignCode पर कॉलम नाम बदल दिया तो मुझे यह समस्या थी। डीबी परिवर्तन करने के बाद, मैं .edmx डिजाइनर पर गया, राइट क्लिक किया और डेटाबेस से अद्यतन मॉडल चुना। फिर जब मैं संकलित मैं त्रुटि मिली:

Error 11009: Property CampaignKey is not mapped.

डिजाइनर में मेरी मेज पर गहन चर्चा लेते हुए मुझे पता चला है कि दृश्य स्टूडियो नए क्षेत्र CampaignCode बनाया था डीबी में के रूप में। लेकिन इसने पुराने क्षेत्र CampaignKey को भी छोड़ दिया था, जिससे त्रुटि हुई क्योंकि यह अब डीबी में मौजूद नहीं है।

समस्या को हल करने के लिए, मैंने डिजाइनर में अपनी तालिका में CampaignKey फ़ील्ड पर राइट-क्लिक किया और हटा दिया।

इसके बाद मैंने .edmx को संकलित किया, संकलित और त्रुटि समाप्त हो गई।

+1

हां, यह मेरे लिए भी मामला प्रतीत होता है .. क्या आपको पता है कि यह एक बग है? – Narayana

+1

कृपया ध्यान दें, इस त्रुटि को गायब होने से पहले आपको बंद करने और फिर डिज़ाइनर को फिर से खोलने की आवश्यकता हो सकती है। –

2

मैंने नोटपैड में edmx फ़ाइल खोली और गलत फ़ील्ड हटा दिया। मैंने फिर डिजाइनर

+0

मैं तालिका को हटाना नहीं चाहता था और फिर से जोड़ना चाहता था, इसलिए मैंने कोशिश की और यह काम किया। thnx – PawelCz

1

में मॉडल को फिर से अपडेट किया, जब मैंने डेटाबेस में कॉलम नाम बदल दिया और मॉडल से डेटाबेस अपडेट किया तो मुझे वही त्रुटि हुई। मैं समाधान में कहीं भी मूल नाम नहीं ढूंढ पाया। मैं (, edmx पृष्ठभूमि पर राइट क्लिक करें का चयन करें "अद्यतन मॉडल (, टेबल पर राइट क्लिक करें हटाएं दबाएं) बस

  1. मॉडल से तालिका हटा कर इसे हल,
  2. डेटाबेस से मॉडल को अद्यतन करने डेटाबेस से ", परिवर्तित तालिका जोड़ें)।
0

मुझे पता है कि यह प्रश्न वीएस 2008 और 'मॉडल को पुनर्प्राप्त करने' के बारे में था, लेकिन किसी को भी ऐसा लगता है जैसे मैंने वीएस 2015 में एक ही त्रुटि 11009 में किया था, मैंने पहली बार "डेटाबेस से अद्यतन मॉडल" "कोई फायदा नहीं हुआ, फिर मैंने अंततः .edmx डिज़ाइन में मॉडल तालिका पर राइट-क्लिक करके और टेबल मैपिंग चुनकर इसे ठीक किया। मुझे मॉडल को हटाना नहीं था। मेरा मॉडल एक डीबी टेबल से जुड़ा हुआ है।

0

मुझे नए कॉलम प्राप्त करने के लिए रीफ्रेश करने पर डेटाबेस स्टूडियो 2017 और एंटीटी फ्रेमवर्क 6 के साथ एक डेटाबेस फर्स्ट मॉडल पर एक ही समस्या थी।

मैंने उपर्युक्त सब कुछ करने की कोशिश की लेकिन केवल एक चीज जो काम करती थी वह ईडीएमएक्स को हटाना और एक नया उत्पन्न करना था।

0

मैं यह त्रुटि है (त्रुटि 3007: मानचित्रण टुकड़े में समस्या लाइनों से शुरू ...), के बाद .edmx को

सबसे पहले मैं पिछले जोड़ा तालिका को हटाने, तो मैं फिर से अद्यतन मॉडल एक मेज जोड़ने उस तालिका wiht, लेकिन जाँच 'foreing कुंजी चेकबॉक्स में शामिल हैं:

enter image description here