5

सक्षम करते समय टेबल नहीं बनाते हैं मेरे आवेदन में मैं कुछ माइग्रेशन के साथ कोड प्रथम माइग्रेशन सक्षम करता हूं, इसके अलावा मैं एकीकरण परीक्षण के लिए SQL सर्वर कॉम्पैक्ट का उपयोग करता हूं।इकाई फ्रेमवर्क 6 - माइग्रेशन

जब मैं अपने परीक्षण चलाने के लिए, इकाई की रूपरेखा एक खाली डेटाबेस बनाने और है कि खाली डेटाबेस पर माइग्रेशन चलाने और फेंक दिया The specified table does not exist.

this रिपोर्ट के आधार पर मुझे लगता है कि इकाई की रूपरेखा 6 में प्रवासन के उपयोग बदल गया है की कोशिश करता है।

मैं Context.Database.Create(); के साथ सभी डेटाबेस प्रारंभकर्ता का परीक्षण करता हूं लेकिन सभी मामलों में टैबले कभी नहीं बनाया गया है।

+0

माइग्रेशन के रूप में हमेशा काम:

ये कदम उठाएँ। आपको MigrateDatabaseToLatestVersion प्रारंभकर्ता की आवश्यकता है। –

+0

मैंने इसका परीक्षण किया है और तालिका नहीं बनाई गई है। –

उत्तर

14

मैं डॉन कोड से डेटाबेस नवीनतम संस्करण के लिए आप DbMigrator.Update विधि का उपयोग करने की आवश्यकता है अद्यतन करने के लिए यह नहीं पता कि यह EntityFramework की बग है या नहीं, लेकिन जब मैंने माइग्रेशन कॉन्फ़िगरेशन क्लास का नामस्थान (प्रोजेक्टनाम/माइग्रेशन) से किसी भी डिफ़ॉल्ट नाम का नाम बदल दिया है, तो माइग्रेशन अच्छी तरह से काम करता है।

+0

ओएमजी यह वास्तव में काम करता है ... – TamarG

+0

यह वास्तव में काम करता है। नामस्थान बदलना पर्याप्त नहीं हो सकता है, कक्षा का नाम भी बदल सकता है। रनटाइम पर किसी प्रकार का नाम संघर्ष लगता है ... – Jerther

+0

यह वास्तव में वास्तव में विचित्र है। यह भी मेरे लिए काम किया। यह क्यों काम करता है के लिए कोई स्पष्टीकरण? – digitalmonkey

0

Context.Database.Create() माइग्रेशन निष्पादित नहीं करेगा! यह केवल खाली डीबी बनाता है।

var migrator = new DbMigrator(new MyMigrationsConfiguration()); 
migrator.Update(); 

वैकल्पिक रूप से आप MigrateDatabaseToLatestVersion का उपयोग कर सकते

Database.SetInitializer(new MigrateDatabaseToLatestVersion<BlogContext, Configuration>()); 

यह यहाँ विवरण में वर्णित है:: http://msdn.microsoft.com/en-us/data/jj591621.aspx#initializer

-1

मॉडल जोड़ने और एड-माइग्रेशन कमांड चलाने पर ऐसा होता है।

IdentityDbContex वर्ग में नए जोड़े गए मॉडल संपत्ति जोड़ें:

यहाँ इस मुद्दे का सबसे सरल कारण है।

  1. मॉडल
  2. IdentityDbContex वर्ग में प्रॉपर्टी जोड़ते बनाने
  3. रन जोड़ने के प्रवास
  4. अद्यतन-डेटाबेस
संबंधित मुद्दे