36

मैं कोड-प्रथम और स्वचालित माइग्रेशन का उपयोग करके समाधान लागू करने के लिए इकाई फ्रेमवर्क और इकाई फ्रेमवर्क माइग्रेशन का उपयोग कर रहा हूं।इकाई फ्रेमवर्क माइग्रेशन ने पीओसीओ अपडेट का पता लगाना बंद कर दिया

यह बहुत अच्छा काम करता था लेकिन अचानक मैंने अपने पॉको में किए गए अपडेट का पता लगाना बंद कर दिया। अब जब मैं एक नया संपत्ति (उम्र या ईमेल की तरह बहुत ही सरल गुण) जोड़ सकते हैं और Update-Database निष्पादित, कुछ नहीं होता है, और यह मुझे देता है यह:

देखने पर एसक्यूएल दौरान निष्पादित किया जा रहा कमांड '-verbose' फ्लैग निर्दिष्ट करें पलायन।
मिला 0 स्पष्ट माइग्रेशन लंबित: []।
बीज डेटा जोड़ना (यदि बीज विधि माइग्रेशन सेटिंग्स वर्ग में ओवरराइड किया गया है)।

और कुछ भी अपडेट नहीं हो जाता है!

क्या किसी को कोई विचार है कि यह क्यों हो रहा है?

+1

क्या स्वचालित माइग्रेशन सक्षम ध्वज अभी भी सेट है? – Betty

+0

यदि आप एड-माइग्रेशन चलाते हैं तो क्या यह परिवर्तनों का पता लगाता है? – Betty

+0

स्वचालित माइग्रेशन सत्य पर सेट है, मैंने एड-माइग्रेशन की जांच नहीं की है, लेकिन अब मुझे इकाई-फ्रेमवर्क माइग्रेशन को अनइंस्टॉल करना था और इसे ठीक करने के लिए इसे फिर से इंस्टॉल करना था, और अब यह काम कर रहा है, इसलिए मैं नहीं बता सकता, लेकिन अगर यह फिर से हुआ मैं एड-माइग्रेशन – Stacker

उत्तर

2

यह दो कारणों से हो सकता है:

  1. वहाँ कोड में कुछ अन्य DbContext है, यही कारण है कि स्वचालित प्रवास करते हैं, तय नहीं कर सकता है जो संदर्भ का उपयोग करने के लिए है।
  2. कुछ नया बदलाव है, जो स्कीमा और कोड मॉडल की तुलना को रोकता है, इसलिए ईएफ को अंतर नहीं मिल सका।

सामान्य रूप से, स्वचालित माइग्रेशन सरल और कार्यान्वित करने के लिए तेज़ होते हैं, लेकिन इनका उपयोग करने के लिए सुरक्षित नहीं है। कुछ स्तर पर, ऐसे माइग्रेशन विफल हो सकते हैं।

कई साल पहले, मैंने लिंक 2 एसक्यूएल, AcroDB Library पर आधारित छोटे ओआरएम विकसित किए हैं, और यह SubSonic के ऑटोमिग्रेशन का उपयोग कर रहा था। ईएफ माइग्रेशन के रूप में लगभग वही कर सकते हैं। यह छोटी परियोजनाओं और प्रक्रिया को बदलने या बदलने के लिए डेटा की थोड़ी मात्रा पर सही था, लेकिन जब परियोजना 15+ तालिकाओं में बढ़ी है, तो यह एक दुःस्वप्न बन गया। यही कारण है कि एमएस ने हाल ही में Code-driven migrations की घोषणा की है। वे परियोजना के लिए अधिक सुरक्षित और बेहतर हैं। इसके अलावा, आप Migrator.Net पर देख सकते हैं (यह इस समय तक ईएफ से थोड़ा बेहतर है)।

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