पहले साथ EF5 माइग्रेशन चलाने में असमर्थ है, मैं पढ़ा है इन प्रश्न/उत्तर:मौजूदा डेटाबेस
- EF-migration message
- How can I stop Add-Migration checking my database has no pending migrations when using Code-Based migrations?
- Make EF4.3 Code First Migrations ignore pending migrations
ये सभी एफई के लिए होने लगते हैं ईएफ 5 से पहले संस्करण, और मेरी स्थिति इन उत्तरों को फिट नहीं लगती है। तो, मुझे अपनी स्थिति का वर्णन करने दें।
- मेरा आवेदन मूल रूप से ईएफ 4, मॉडल का उपयोग करके बनाया गया था। मैंने जीयूआई डिजाइनर के साथ अपना डेटाबेस डिज़ाइन किया, और इसका उपयोग अपने डेटाबेस को उत्पन्न करने के लिए किया।
- मैं कुछ महीनों के लिए डेटाबेस में डेटा चला रहा हूं और एकत्र कर रहा हूं। मैं वास्तव में यह डेटा खो नहीं सकता।
- मैं अपने कोड, NuGet के साथ स्थापित EF5, और इस्तेमाल किया एफई विद्युत उपकरण branched मेरी डेटाबेस से अपने मॉडल एक नया वर्ग पुस्तकालय परियोजना पर राइट-क्लिक करें, और
Entity Framework | Reverse engineer code first
का चयन करके उत्पन्न करने के लिए। - मैं आसानी से, फिर से संदर्भ के लिए मेरी नई परियोजना के लिए अपने प्रोजेक्ट ObjectContext के बजाय नई DbContext उपयोग करने के लिए परिवर्तित कर रहा था, और कहा कि मेरे पुराने मॉडल आयोजित EF4 वर्ग पुस्तकालय हटा दिया। कार्यक्रम महान काम करता है!
अब, मैं स्वत: माइग्रेशन को आजमाने की कोशिश करता हूं, जिसमें रूबी पर रेल के साथ मेरा थोड़ा सा अनुभव था। यहां मैंने जो किया है:
- रण
Enable-Migrations
। कनेक्शन स्ट्रिंग के कारण कुछ परेशानी थी और कौन सा ऐप.कॉन्फिग इस्तेमाल हो रहा था, लेकिन अंततः इसे मिला। हालांकि, this MSDN page का कहना है कि यह स्वचालित रूप से मुझे बिंदु मैं पहले से ही पर हूँ करने के लिए प्रथम प्रवास उत्पन्न करना चाहिए था। ऐसा नहीं हुआ Add-Migration InitialSchema
Ran पूरा करने के लिए क्या स्वचालित रूप से चरण 1 में नहीं किया गया था यह काम किया।- अपने मॉडल वस्तुओं से एक के लिए एक संपत्ति जोड़ा गया, तो
Add-Migration AddSerialToLogEntries
चलाने का प्रयास किया, और साथ पेश किया गया:
एक स्पष्ट प्रवास क्योंकि निम्नलिखित स्पष्ट माइग्रेशन लंबित हैं जनरेट करने में असमर्थ: [201307190100268_InitialSchema] । एक नई स्पष्ट प्रवास उत्पन्न करने के लिए प्रयास करने से पहले लंबित स्पष्ट माइग्रेशन लागू करें।
मेरे मौजूदा डेटाबेस पर माइग्रेशन लागू करने का प्रयास विफल रहा, जो आश्चर्यजनक नहीं है।
अन्य उत्तर मैं मूल रूप से ऊपर उल्लेख किया है ने कहा कि मैं भाग्य से बाहर हूँ, लेकिन जैसे मैंने कहा कि उन इकाई की रूपरेखा के पुराने संस्करणों के लिए थे। क्या मेरे पास कोई विकल्प है?
इस प्रश्न को लिखते समय, मैंने सोचा कि मैं एसक्यूएल स्क्रिप्ट में अपना डेटा निर्यात करने के लिए SQL सर्वर प्रबंधन स्टूडियो का उपयोग करने में सक्षम हो सकता हूं, संपूर्ण डेटाबेस हटा सकता हूं, इसे ईएफ बना सकता हूं, फिर स्क्रिप्ट को अपने डेटा को वापस पाने के लिए चलाएं ... मैं उस समय कोशिश करूँगा जब मेरे पास समय होगा, लेकिन मैं यह सुनना चाहूंगा कि क्या अन्य विकल्प हैं क्योंकि मुझे 100% यकीन नहीं है कि काम करेगा और प्रक्रिया में डाले गए डेटा में कोई त्रुटि होने से नफरत होगी।
ग्रेट, विस्तृत उत्तर। जैसे ही मैं कर सकता हूं मैं आपके कदमों को आजमाउंगा। मुझे पता है कि मैं माइग्रेशन फ़ोल्डर को हटाकर सक्षम-माइग्रेशन को "पूर्ववत" कर सकता हूं, लेकिन क्या मैं इसे हटाने और शुरू करने के बजाय उस पहले माइग्रेशन के ऊपर और नीचे विधियों को भी खाली कर सकता हूं? – Steve
@Steve: हाँ, यह भी काम करना चाहिए। – Slauma
बहुत अच्छा काम किया, धन्यवाद! – Steve