2012-03-14 15 views
35

क्या एंटिटी फ्रेमवर्क 4.3.1 में माइग्रेशन को अक्षम करने का कोई तरीका है? मैंने प्रोजेक्ट से माइग्रेशन फ़ोल्डर और मेरे डेटाबेस में जेनरेट की गई टेबल हटा दी, लेकिन यह काम नहीं करती है! आप माइग्रेशन को कैसे हटा सकते हैं?इकाई फ्रेमवर्क 4.3.1 में माइग्रेशन को अक्षम कैसे करें?

Database.SetInitializer<YourContextType>(new CreateDatabaseIfNotExists<YourContentType>()); 
+1

* इसका मतलब क्या है * यह काम नहीं करता *? –

+0

मेरा मतलब है कि जब मैं इन फ़ाइल और तालिका को हटाता हूं, तो मैं माइग्रेशन अक्षम करने की अपेक्षा करता हूं, लेकिन यह अभी तक सक्षम है। जब मैं प्रोजेक्ट चलाता हूं तो माइग्रेशन –

+11

के बारे में एक त्रुटि होती है जो आपके एप्लिकेशन के स्टार्टअप के लिए 'डेटाबेस.SetInitializer (null)' जोड़ने का प्रयास करें। –

उत्तर

35

आप माइग्रेशन उपयोग करने के लिए लेकिन एक ही समय में आप एफई आप के लिए डेटाबेस बनाने के लिए चाहते हैं नहीं करना चाहते हैं, तो आप सिर्फ सही डेटाबेस प्रारंभकर्ता निर्धारित करने की आवश्यकता सुनिश्चित करें कि मैं अपने कोड में स्वत: माइग्रेशन बंद कर दिया करने के लिए किया गया था:

AutomaticMigrationsEnabled = false; 

और फिर मैं डेटाबेस से _MigrationHistory तालिका नष्ट कर दिया (यह आमतौर पर एक प्रणाली तालिका के रूप में बनाई गई है, यदि आप इसे नहीं मिल सकता है)

+9

नया CreateDatabaseIfNotExists () – njebert

+1

यह वास्तव में कौन सी कक्षा/फ़ाइल में जाता है? – jep

+1

@jep, आपके आवेदन के लिए प्रवेश बिंदु। जैसे 'global.asax.cs' या 'प्रोग्राम। मुख्य'। – MEMark

4

तरह से है कि मैं इस के चारों ओर हो गया है:

+11

इतनी अस्पष्ट होने के लिए नीचे वोट। वास्तव में आपके कोड में आपने उस कमांड को शामिल किया था? – JBeckton

+0

हम्म ... अच्छा सवाल जेबीकटन। यह थोड़ी देर हो गया है क्योंकि मैंने उस कोड को देखा है, और मुझे नहीं लगता कि मुझे अभी भी कहीं भी इसका उपयोग है। मुझे याद है कि यह मेरे कोड के एंटिटी फ्रेमवर्क सेटअप सेक्शन में था। बहुत उपयोगी नहीं है, मुझे पता है, इसलिए मेरी माफ़ी। – Buzzrick

+7

'AutomaticMigrationsEnabled' संपत्ति /Migrations/Configuration.cs –

31

Migrations फ़ोल्डर को हटाने के लिए मेरे लिए काम किया है। मुझे कोई गलती नहीं मिलती है, यह मुझे वापस शुरू करती है जहां मैंने शुरू किया था।

+2

में स्थित है EF6 – Luther

+0

माइग्रेशन फ़ोल्डर में भी मेरे लिए काम किया? मैं ईएफ 6 कोड-प्रथम हूं और ऐसा लगता है कि कहीं भी कोई नहीं है। मैंने निश्चित रूप से एक नहीं बनाया। –

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