2013-11-21 4 views
5

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

+0

यह सुनिश्चित नहीं है कि इससे कितना मदद मिलेगी, लेकिन यह प्रश्न/उत्तर देखें: http://stackoverflow.com/questions/16952413/stuck-in-ef- माइग्रेशन-limbo – Steve

+1

धन्यवाद स्टीव। ऐसा लगता है कि यह समस्या उस वीएस 2013 में एक वीएस 2013 बग के कारण होती है जब संदर्भ हटा दिया जाता है और फिर डेटाबेस-संदर्भ प्रोजेक्ट के बिन फ़ोल्डर से फिर से जोड़ा जाता है तो एक डीएलएल-संदर्भ (एक प्रोजेक्ट-रेफरी के विपरीत) को ठीक से अपडेट नहीं करता है (भले ही स्वच्छ समाधान को बीच में बुलाया गया हो)। रेफरिंग प्रोजेक्ट का बिन बाद के संकलन के बाद भी अद्यतन डेटाबेस-संदर्भ डीएलएल नहीं दिखाता है। इसलिए, डीएलएल का मॉडल डाटाबेस के साथ पुराना है जिसे डेटा-संदर्भ परियोजना द्वारा पहले ही अपडेट किया जा चुका है। – CalvinDale

+3

आपको इसे अपने स्वयं के प्रश्न के उत्तर के रूप में पोस्ट करना चाहिए, इसलिए जब अन्य लोग इसकी खोज करेंगे तो उन्हें आपकी व्याख्या मिल सकती है। – Steve

उत्तर

9

मेरे लिए यह मुद्दा था कि हमने माइग्रेशन 2014123456_Initial.cs के नामस्थान का नाम बदल दिया था।
लेकिन वीएस ने अपने संबंधित 2014123456_Initial.Designer.cs में नेमस्पेस को पुन: उत्पन्न नहीं किया था।

एक बार Designer.cs को उसी नामस्थान का उपयोग करने के लिए बदल दिया गया था, यह सब फिर से काम करना शुरू कर दिया।

+3

आपको बहुत धन्यवाद! मैं एक समस्या खोजने की कोशिश कर घंटों खर्च करता हूँ! यहां वही: नामस्थान में .esignign.cs! –

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