10

मैंने विजुअल स्टूडियो 2013 नवीनतम अपडेट का उपयोग कर EntityFramework -Version 6.1.2 के साथ एक नई एमवीसी परियोजना शुरू की। मैंने कुछ माइग्रेशन किए और डेटाबेस को अपडेट किया। इस के बाद मैं किसी अन्य कंप्यूटर पर परियोजना की जाँच की और दृश्य स्टूडियो के साथ खोला 2015 CTP 6.मैं विजुअल स्टूडियो 2015 में ईएफ 6 माइग्रेशन कैसे प्रबंधित कर सकता हूं?

अगर मैं पैकेज प्रबंधक कंसोल में जाने के लिए और किसी भी प्रवास कमांड चलाने की कोशिश करते हैं, वे मान्यता प्राप्त नहीं कर रहे हैं:

ऐड-माइग्रेशन: 'एड-माइग्रेशन' शब्द को cmdlet, फ़ंक्शन, स्क्रिप्ट फ़ाइल या ऑपरेट करने योग्य प्रोग्राम के नाम के रूप में पहचाना नहीं जाता है। नाम की वर्तनी जांचें, या यदि पथ शामिल किया गया था, तो सत्यापित करें कि पथ सही है और पुनः प्रयास करें।

विजुअल स्टूडियो 2015 में एंटीटी फ्रेमवर्क 6 का उपयोग करके मैं अपने माइग्रेशन का प्रबंधन कैसे कर सकता हूं?

+1

यह अभी भी केवल सीटीपी है ... (पूर्वावलोकन, उत्पादन के उपयोग के लिए नहीं है) .. तो मैं हाँ कहूंगा, यह बहुत सामान्य है। मानक संस्करण – walther

+0

की पूर्ण बग-फ्री कार्यक्षमता की अपेक्षा न करें, क्या आपने दूसरे कंप्यूटर पर EntityFramwork NuGet पैकेज स्थापित किया था - मुझे लगता है कि कार्रवाई शक्तियों के आदेशों को सक्षम करेगी। – ErikEJ

+0

हाय, लुका। मुझे यह समस्या भी है। मैंने आपके प्रश्न को बड़े पैमाने पर संपादित किया। कृपया सुनिश्चित करें कि मैंने आपका इरादा नहीं बदला है। यदि नहीं, तो मैं एक बक्षीस जोड़ूंगा। –

उत्तर

6

क्या आपने एंटीटीफ्रेमवर्क NuGet पैकेज को अनइंस्टॉल करने और पुनर्स्थापित करने का प्रयास किया है? जैसा कि वर्णन किया गया था और मैंने इसे हल किया था।

+0

ऐसा लगता है कि आरसी कुछ दिनों में बाहर हो जाएगा, इसलिए मैं यह देखने का इंतजार कर रहा हूं कि यह कैसे काम करता है। –

+1

मैंने इसे वीएस 2015 आरटीएम पर किया और यह मेरी समस्या का समाधान किया जो प्रश्न के समान था। – kenstone

-1

मैं कुछ चेकों किया है, लेकिन मैं सभी एफई परिदृश्य को कवर करने की कोशिश कर संक्षिप्त होगी:

एक asp.net 5 परियोजना में

ef7: माइग्रेशन प्रबंधन बदल दिया गया है और अब का उपयोग कर नियंत्रित किया जाता है ef माइग्रेशन कमांड।
ef7 पारंपरिक .net अनुप्रयोग में: यह आवश्यक फ्रेमवर्क 4.5.1 है, लेकिन इस पृष्ठ पर esing ef 7 in a .net app आप पारंपरिक ऐप में ef 7 का उपयोग करने के तरीके पर एक अच्छी मार्गदर्शिका पा सकते हैं। EntityFramework.Commands पैकेज को जोड़ना महत्वपूर्ण है।
ef6: asp.net 5 के साथ काम नहीं करता है, इसलिए आप इसे इंस्टॉल भी कर सकते हैं, बिल्ड टूटा जाएगा। मोंगोड और पोस्टग्रेस्क्ल के लिए वास्तविक वास्तविक ड्राइवरों के लिए समान स्थिति। यदि आप सुनिश्चित नहीं हैं कि एक ef 7 संगत ड्राइवर है, तो इसे इंस्टॉल न करें। फिलहाल मुझे लगता है कि आप बस sqlserver और मेमरी पर भरोसा कर सकते हैं।
एएसपीनेट 4 अनुप्रयोगों के लिए, कमांड की वास्तविक स्थापना इकाई फ्रेमवर्क पैकेज का हिस्सा है, इसलिए पैकेज की पहली स्थापना (जैसा कि ऊपर बताया गया है) पर स्थापित किया जाएगा।
कुछ परिस्थितियों में, ऐसे वातावरण में जहां ef पैकेज स्थापित नहीं किया गया है, एएसपीनेट 4 प्रोजेक्ट की प्रतिलिपि बनाना और उस पर काम करना शुरू करना, यह समस्या दे सकती है, जो किसी भी कारण से पैकेज स्थापित होने पर जादुई रूप से गायब हो जाता है।

+1

ईएफ 6 एएसपीनेट 5 के साथ एक अपवाद के साथ ठीक काम करता है: माइग्रेशन के लिए पैकेज मैनेजर (पावरहेल) में कोई समर्थन नहीं है। –

+0

मैंने कई रिपोर्टें देखी हैं जो एएसपीनेट 5 के साथ जहाजों की पहचान के साथ काम नहीं करती हैं, और एएसपीनेट 5 के मूल में डी तंत्र के साथ काम नहीं करती हैं। मुझे लगता है कि आप अपने जोखिम पर उपयोग कर सकते हैं । –

2

ठीक है तो मुझे वीएस2013 में शुरू हुई ईएफ 6 परियोजना के साथ यह समस्या थी और वीएस2015 आरसी में अपग्रेड किया गया। आदेश उपलब्ध थे अगर मैंने इसे वीएस2013 में खोला लेकिन वीएस2015 में नहीं।

Update-Package –reinstall EntityFramework 

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

0

मुझे लगता है कि में इसी तरह के मुद्दों हो रही थी मैं पैकेज प्रबंधक कंसोल से Add-Migration चला सकते हैं नहीं है, या तो (हालांकि मुझे कोई दूसरी त्रुटि हो रही थी।) दुर्भाग्य से, फिर से स्थापित करने EntityFramework मेरे लिए काम नहीं कर रहा था, शायद इसलिए क्योंकि मैं ASP.Net था एक ही समाधान में 5 परियोजनाएं। (यह पारंपरिक csproj के लिए नहीं था, क्योंकि इसे रेक्स की आवश्यकता होती है जो मुझे पता है कि जहां तक ​​मुझे पता नहीं है।)

मैं एक सांत्वना आवेदन बनाने, परियोजना है कि मेरे माइग्रेशन शामिल संदर्भित समाप्त हो गया है, और निम्नलिखित कहा:

var configuration = GetConfiguration(); 

    var scaffolder = new MigrationScaffolder(configuration); 

    scaffolder.Namespace = configuration.MigrationsNamespace; 

    var scaffoldedMigration = scaffolder.Scaffold(name); 

    System.IO.File.WriteAllText(scaffoldedMigration.MigrationId + ".cs", scaffoldedMigration.UserCode); 
    System.IO.File.WriteAllText(scaffoldedMigration.MigrationId + ".Designer.cs", scaffoldedMigration.DesignerCode); 
    System.IO.File.WriteAllText(scaffoldedMigration.MigrationId + ".resx", BuildResx(scaffoldedMigration.Resources)); 

GetConfiguration अपने *.Migration.Configuration वर्ग का एक उदाहरण देता है। name आपके माइग्रेशन का नया नाम है। डिफ़ॉल्ट रूप से यह कोड इसे आपके कंसोल ऐप के डीबग फ़ोल्डर में छोड़ देता है; अपने Migration फ़ोल्डर में विजुअल स्टूडियो में वहां से ड्रैग-एंड-ड्रॉप करें और इसे चाल चलनी चाहिए।

बाद में मैंने पाया कि यह मूल रूप से https://stackoverflow.com/a/20382226/195653 जैसा था लेकिन पूरी तरह से अलग कारणों से।

0

अद्यतन-पैकेज इकाई फ़्रेमवर्क ... चाल चलाना चाहिए।

+1

उत्तर देने पर उत्तर देने के बिना कृपया अधिक जानकारी जोड़ें। – tarzanbappa

0

मैंने पुनः स्थापित करने या अनइंस्टॉल करने और एंटीटीफ्रेमवर्क को बंद करने और VS को फिर से खोलने के सभी संयोजनों को स्थापित किया। काम करने वाली एकमात्र चीज मेरे समाधान फ़ोल्डर में फ़ोल्डर संकुल को हटा रही थी और सभी संकुल को डाउनलोड करने के लिए मजबूर करने के लिए समाधान का पुनर्निर्माण कर रहा था।

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