2012-02-14 9 views
7

इसलिए मैं EntityFramework 4.3 माइग्रेशन के साथ प्रारंभ करना चाहता हूं। मैं जानना चाहता था कि क्या मैं किसी मौजूदा डेटाबेस को माइग्रेशन-सक्षम डेटाबेस में परिवर्तित कर सकता हूं और ईएफ मान लेता है कि तब से केवल परिवर्तन ही माइग्रेशन माना जाना चाहिए।मैं EntityFramework 4.3 में किसी मौजूदा डेटाबेस के लिए माइग्रेशन कैसे बना सकता हूं?

उत्तर

9

इस के लिए एक अच्छा माध्यम से गुजरने के यहां पोस्ट है: http://thedatafarm.com/data-access/using-ef-4-3-code-first-migrations-with-an-existing-database/

एक परिवर्तन मेरा सुझाव है बस ऊपर और नीचे के तरीकों में कोड बाहर टिप्पणी करने के लिए जब तक आप माइग्रेशन तैनात किया है। इसके बाद, आप कोड को असम्बद्ध कर सकते हैं और इससे आपको बाद में आवश्यकता होने पर एक नया डेटाबेस बनाने की अनुमति मिल जाएगी।

+0

अच्छा बिंदु देखें, धन्यवाद! – enamrik

+0

यह 404 अब –

+0

अधिक जानकारी यहां http://tinyurl.com/q2hepmw है – Spock

8

तो ऐसा लगता है कि मैं जो देख रहा था वह Codebased Migrations है जो स्वचालित रूप से स्वचालित MigrationsEnabled = false सेट करते समय सक्रिय होता है। मेरे मॉडल मौजूदा डेटाबेस से उत्पन्न किए गए थे। माइग्रेशन को सक्रिय करने के लिए, मुझे बस माइग्रेशन सक्षम करना था (सक्षम-माइग्रेशन), एड-माइग्रेशन का उपयोग करके एक नई नई माइग्रेशन फ़ाइल बनाएं, इसे खाली करें (मेरे मॉडल पहले ही डेटाबेस में हैं इसलिए मैं ईएफ को कोशिश नहीं करना चाहता हूं और उन्हें बनाएं) और इसे तैनात करें।

protected void Application_Start() 
{ 
     var config= new Configuration(); 
     var migrator = new DbMigrator(config); 
     migrator.Update(); 
} 

एक नई तालिका __MigrationHistory बनाया गया था और एक नया माइग्रेशन रिकॉर्ड उस में बनाने गया था: लागू करने के लिए, मैं अपने Global.asax फ़ाइल में निम्न गयी। इस नए माइग्रेशन रिकॉर्ड में मेरे मॉडल का हैश था इसलिए अब मेरे मॉडल में किए गए किसी भी बदलाव को ईएफ के साथ भविष्य में माइग्रेशन में मेरे लिए स्क्रिप्ट किया जा सकता है।

परीक्षण करने के लिए, मैंने एक और माइग्रेशन फ़ाइल (एड-माइग्रेशन) बनाई है, मैंने एक मॉडल में एक नई संपत्ति जोड़ा है, एड-माइग्रेशन चलाया जो नए क्षेत्र को लिखे और फिर मेरे आवेदन को तैनात किया। माइग्रेशन अपेक्षित के रूप में चलाया गया था।

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

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