9

के साथ काम नहीं कर रहा है मैंने विजुअल स्टूडियो 2012, .NET 4.5 और इकाई फ्रेमवर्क 5.0 का उपयोग कर एक एमवीसी 3.0 एप्लिकेशन बनाया है।इकाई फ्रेमवर्क कोड प्रथम डेटा माइग्रेशन वीएस2012 वेब परिनियोजन

कोड प्रथम डेटा माइग्रेशन का उपयोग करके, मैं अपने स्थानीय परीक्षण डेटाबेस में मॉडल परिवर्तनों को सही ढंग से प्रसारित करने में सक्षम हूं, लेकिन मैं यह नहीं समझ सकता कि वेब स्टेपिंग का उपयोग करके मेरे स्टेजिंग और उत्पादन सर्वर पर तैनाती के दौरान इसे कैसे काम किया जाए।

मैं निम्न आलेख को पढ़ लिया है ...

http://msdn.microsoft.com/en-us/library/dd394698(v=vs.110)#dbdacfx

... जो बताते हैं कि क्या होने चाहिए था, लेकिन यह मेरे लिए काम नहीं कर रहा, वेब तैनात पता लगाने के लिए कि मैं उपयोग कर रहा हूँ में असमर्थ रहा है के रूप में इकाई की रूपरेखा। ट्यूटोरियल कोड पहले माइग्रेशन के निष्पादन सक्षम करने के लिए एक चेकबॉक्स से पता चलता ...

Web Deploy Publish Dialog

... लेकिन मेरे संवाद प्रत्येक डेटाबेस के लिए केवल Update Database चेकबॉक्स को दर्शाता है।

मैंने पढ़ा है कि विजुअल स्टूडियो के लिए एक इकाई फ्रेमवर्क संदर्भ के उपयोग का पता लगाने के लिए, Web.config में एक तत्व शामिल होना चाहिए जो इसे परिभाषित करता है। यहां मेरा है:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 

    <contexts> 
     <context type="MyContext, MyAssembly"> 
      <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[MyContext, MyAssembly], [MyConfig, MyAssembly]], EntityFramework"> 
       <parameters> 
        <parameter value="MyConnectionStringName"/> 
       </parameters> 
      </databaseInitializer> 
     </context> 
    </contexts> 
</entityFramework> 

किसी भी सुझाव की सराहना की जाएगी।

धन्यवाद,

टिम

उत्तर

3

मैं प्रयोग के माध्यम से इस समस्या का समाधान खोज की है।

वास्तव में, मेरे एमवीसी एप्लिकेशन को वीएस -2010 समाधान से परिवर्तित करके वीएस2012 द्वारा बनाया गया था। चूंकि रूपांतरण प्रक्रिया ने किसी भी मुद्दे की रिपोर्ट नहीं की है, इसलिए मुझे लगता है कि प्रकाशन प्रकाशन समेत यह सब कुछ सही ढंग से परिवर्तित कर चुका है।

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

बस परिवर्तित व्यवहार परिणामों में अपेक्षित व्यवहार में नई प्रकाशन प्रोफ़ाइल बनाना।

+1

देखभाल मेरे लिए काम किया हमें मतभेद की एक ठहरनेवाला देने के लिए? –

+1

@ रिचर्ड: के भीतर नव निर्मित प्रोफ़ाइल में कई अतिरिक्त तत्व शामिल हैं, जिनमें से प्रत्येक एक संदर्भ वर्ग का प्रतिनिधित्व करता है। मुझे लगता है कि कुछ प्रकार की खोज प्रक्रिया है जो पहली बार वेब परिनियोजन निष्पादित की जाती है, जिसे वीएस2012 समाधान रूपांतरण के हिस्से के रूप में निष्पादित नहीं किया जाता है। –

0

इस प्रयास करें: सक्षम-माइग्रेशन फोर्स

सुनिश्चित नीचे सच AutomaticMigrationsEnabled सच = पर सेट है;

पुनः प्रकाशित -

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