इकाई ढांचे में एक स्पष्ट प्रवास उत्पन्न करने में असमर्थ


96

मैं एक नया प्रवासन जोड़ रहा हूं लेकिन यह संदेश दिखाता है:

एक स्पष्ट माइग्रेशन उत्पन्न करने में असमर्थ क्योंकि निम्नलिखित स्पष्ट माइग्रेशन लंबित हैं: [201203170856167_left]। नया स्पष्ट माइग्रेशन जनरेट करने का प्रयास करने से पहले लंबित स्पष्ट माइग्रेशन लागू करें।

क्या कोई मेरी मदद कर सकता है?


11
यह मेरे साथ तब हुआ जब मैंने अपने स्टार्टअप प्रोजेक्ट को गलती से अलग कर दिया था। आप (या इसे पढ़ने वाले अन्य) गहराई से शूटिंग में कुछ और प्रयास करने से पहले जल्दी से जांच कर सकते हैं (विशेष रूप से वे जहां आपको माइग्रेशन और इस तरह से हटाना शुरू करना है)।
NicholasFolk

माइग्रेशन निर्देशिका में एक माइग्रेशन क्लास है जो डेटाबेस के _M माइग्रेशन हिस्टोरिस्ट में अपडेट नहीं है। माइग्रेशन डायरेक्टरी और डेटाबेस दोनों में समान स्थिति रखने के लिए उस क्लास को हटाने से मेरी समस्या हल हो गई।
आर्यन फिरोजियन 15

1
यह मेरे लिए बेतरतीब ढंग से होता है। जब ऐसा होता है तो यह पता चलता है कि मेरे सभी माइग्रेशन को लागू करने की आवश्यकता है। मुझे इसे प्राप्त करने के लिए Visual Studio को पुनरारंभ करना होगा क्योंकि मेरे पास पहले से ही सब कुछ ठीक से सेट है।
लैरी फ्लेवलिंग

जवाबों:


81

यह बताता है कि आपके आवेदन में कुछ अनप्रोसेस्ड माइग्रेशन है और Update-Databaseदूसरे माइग्रेशन को जोड़ने से पहले इसे चलाने की आवश्यकता है ।


12
आप एक प्रारंभिक प्रवास को फिर से बनाना चाहते हैं? यह आपको ऐसा करने से रोकता है?
रेबेका

मेरे लिए काम नहीं किया, अपडेट-डेटाबेस ने मुझे एक और त्रुटि दी। मुझे पहले लंबित फाइलों को हटाना था।
वोक्स

1
थॉमस का जवाब मेरे समान मामले के लिए उपयोगी था।
तारेक शवाडफ़ी

2
एक स्टार्टअप-प्रोजेक्ट की घोषणा करना -StartupProject ContentHub.Database
निरर्थक

2
Update-Databaseवर्तमान मॉडल से मेल करने के लिए डेटाबेस अपडेट करने में असमर्थ है क्योंकि लंबित परिवर्तन हैं
ASPirin

53

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


1
मैं यह भी जोड़ूंगा कि यह तब होगा जब आप अपने App.config को किसी अन्य परियोजना में स्थानांतरित करेंगे या यदि यह आपके प्रोजेक्ट में केवल सादा गायब है या यदि यह आपके प्रोजेक्ट में है, लेकिन गलत तरीके से कॉन्फ़िगर किया गया है।
कोड मैवरिक

मेरे आईपी बदलने के बाद मुझे भी यही त्रुटि मिली (स्थान बदलने के बाद और डायन डीएनएस परिवर्तन के बाद दोनों हुआ)। यह Azure डेटाबेस में फ़ायरवॉल के कारण होता है जिसका उपयोग हम लॉगिन को निरस्त करने के लिए कर रहे हैं। Ehelpfully EF माइग्रेशन उपरोक्त त्रुटि देता है बजाय "लॉग इन नहीं कर सकता ..."
विक्टर

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

@GageTrader में जोड़ना: मेरे पास कई स्टार्टअप परियोजनाएं थीं, जिनमें कोई कॉन्फ़िगरेशन नहीं है, और EF-config के साथ वेब प्रोजेक्ट है। माइग्रेशन वाली (रिपॉजिटरी) परियोजना का वेब प्रोजेक्ट के रूप में अपने ऐप में एक ही ईएफ कॉन्फिग है। लेकिन तब भी जब मैंने रिपोजिटरी प्रोजेक्ट को स्टार्टअप प्रोजेक्ट के रूप में चुना, यह काम नहीं किया, लेकिन जब मैंने वेब प्रोजेक्ट को स्टार्टअप के लिए सेट किया।
जिमीस्वाइन

मुझे स्पष्ट रूप से -ConnectionString पैरामीटर को स्पष्ट करना पड़ा, जिसने मेरे लिए चाल चली
चली

34

आपको या तो डेटाबेस में अपने परिवर्तनों को धकेलने के लिए पैकेज मैनेजर कंसोल से "अपडेट-डेटाबेस" चलाने की आवश्यकता है या आप अपने माइग्रेशन फ़ोल्डर से लंबित माइग्रेशन फ़ाइल ([201203170856167_left]) को हटा सकते हैं और फिर "ऐड-माइग्रेशन" को फिर से चला सकते हैं। अपने संपादन के आधार पर एक नया माइग्रेशन बनाएं।


1
मैंने माइग्रेशन फ़ाइल हटा दी है और ऐड-माइग्रेशन चला गया है, लेकिन यह अभी भी वही त्रुटि देता है।
नू एवरेस्ट

2
धन्यवाद, लंबित माइग्रेशन फ़ाइल को हटाने के बारे में टिप एक जीवनरक्षक था
मनीष

31

इस त्रुटि का मतलब यह भी हो सकता है कि पलायन को मान्यता नहीं मिली है। माइग्रेशन.कॉन्फिग्रेशन में कॉन्टेक्स्ट की वैल्यू बदलने के बाद मेरे साथ ऐसा हुआ। समाधान बस डेटाबेस तालिका "__MigrationHistory" में ContextKey को अपडेट करने के लिए था (या मुझे लगता है कि कॉन्फ़िगरेशन वर्ग में मान वापस करें)। आपके आवेदन में ContextKey और Namespace का मेल होना चाहिए।


1
मेरे मामले के लिए यह सही जवाब था। जैसा कि मैंने अपनी पुरानी परियोजनाओं में से एक नई परियोजना के लिए इस्तेमाल किया था, मैं पुराने प्रवासन पर DB में बदलाव करने में सक्षम नहीं था। जैसा कि थॉमस ने सुझाव दिया था, नामस्थान _MigrationsHistory तालिका में संदर्भ से माइग्रेशन में भिन्न थे, जिसके कारण पुराने माइग्रेशन को मान्यता नहीं दी गई थी।
तारेक शवाडफ़ी

1
इससे मुझे मदद मिली क्योंकि मैंने समाधान का नाम बदलकर समस्या का कारण बना। इस प्रक्रिया में मैंने ContextKey का नाम बदल दिया था, इसलिए यह _MigrationHistory प्रविष्टियों से मेल नहीं खाती थी।
जोएल

मेरे लिए भी काम किया, कॉन्फ़िगरेशन में एक स्पष्ट संदर्भ कुंजी सेट की, इसे __ माइग्रेशनहिस्टर में बदल दिया और अपडेट-डेटाबेस ने फैसला किया कि सब कुछ अच्छा था। धन्यवाद!
जेम्स व्हाइट

2
हास्यास्पद, लेकिन यह सही है। यदि आपने प्रोजेक्ट का नाम अपडेट किया है, या यदि आप प्रोजेक्ट (मेरा मामला) को कुछ में विभाजित करते हैं और आप एक नए प्रोजेक्ट से उसी डीबी में नए माइग्रेशन को जोड़ने की कोशिश कर रहे हैं, तो आपको सही कॉन्टेक्स्ट का उपयोग करना होगा, आप इसे कॉन्फ़िगरेशन कंस्ट्रक्टर में सेट कर सकते हैं ( आपके पास कन्टेक्स्ट कुंजी का उपयोग करना है जो आपके पास __ माइग्रेशनहिस्टर टेबल में लक्ष्य DB में है)
वानस्पतिक

यहाँ भी, मैंने अपना डिफ़ॉल्ट नाम स्थान बदल दिया और इसे अपने पूरे समाधान में बदल दिया, जिसके कारण यह समस्या पैदा हो गई
WtFudgE

19

1. कनेक्शन स्ट्रिंग / कनेक्शन अनुमतियाँ

कनेक्शन स्ट्रिंग को फिर से जांचें।

सुनिश्चित करें कि आप अभी भी जिस उपयोगकर्ता से जुड़ रहे हैं, उसे पढ़ने की अनुमति है[__MigrationHistory] की अनुमति है और स्कीमा को संपादित करने की अनुमति है।

आप ऐड-माइग्रेशन कमांड को स्वयं चलाने के लिए इंटीग्रेटेड सिक्योरिटी (विंडोज ऑथेंट) का उपयोग करने के लिए ऐप या वेब कॉन्फिग फ़ाइल में कनेक्शन स्ट्रिंग को बदलने का भी प्रयास कर सकते हैं।

उदाहरण के लिए:

connectionString="data source=server;initial catalog=db;persist security info=True;Integrated Security=SSPI;" 

यह कनेक्शन स्ट्रिंग उस प्रोजेक्ट के App.config फ़ाइल में जाएगा जहाँ DbContext स्थित है।

2. स्टार्टअप प्रोजेक्ट

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

यहां छवि विवरण दर्ज करें


Haha। काश, इससे अधिक वोट मिलते। यह मेरे लिए बहुत कुछ होता है और Integrated Securityफिक्स बहुत अच्छा काम करता है!
जेस

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

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

"स्टार्टअप के रूप में सेट करें" - कभी भी अनुमान नहीं लगाया होगा! धन्यवाद!!
जसल

1
हां, मैंने जानबूझकर स्टार्टअप प्रोजेक्ट को बदल दिया है, और इसे वापस बदलना भूल गया। और मजेदार बात यह है कि पहले एक प्रवास उचित स्टार्टअप प्रोजेक्ट के साथ किया गया था, इसलिए सब कुछ ठीक रहा। लेकिन यह अब तर्कसंगत है - b / c EF प्रोजेक्ट से कनेक्शन स्ट्रिंग लेता है, इस प्रकार यह "नहीं जानता" कि वास्तव में पलायन पहले से ही DB पर लागू होता है ...
kosist

8

एक ही मुद्दा था और उपरोक्त उत्तरों में से कुछ संकेतों को हल करने में सक्षम था:

  • पैकेज मैनेजर कंसोल में डिफ़ॉल्ट प्रोजेक्ट की जाँच करें (माइग्रेशन कॉन्फ़िगरेशन के साथ प्रोजेक्ट को इंगित करें
  • सुनिश्चित करें कि स्टार्टअप-प्रेज में एक वैध कनेक्शन के साथ एक web.config है (या
  • माइग्रेशन वाली परियोजना सुनिश्चित करें कि एक वैध कनेक्शन के साथ एक app.config / web.config है
  • DB में अनुमतियों की जाँच करें (आप कनेक्शन में उपयोगकर्ता द्वारा कॉन्फ़िगर के लिए)

पैकेज प्रबंधक कंसोल में "अपडेट-डेटाबेस -verbose" का उपयोग करें और अधिक विशिष्ट जानकारी प्राप्त करने के लिए जहां माइग्रेशन कनेक्ट करने का प्रयास करता है। (मेरे स्टार्टअप प्रेज का सही पता लगाने के लिए मेरे मामले में मदद नहीं की गई ...)


2
"अपडेट-डेटाबेस -verbose" को चलाया और देखा कि मेरा कनेक्शन स्ट्रिंग टूट गया था, योग्य। तो ऐड-माइग्रेशन कमांड गलत संदेश देता है।
वचबर्न

4
"स्टार्टअप-प्रेज सुनिश्चित करें {...}" ने मेरी समस्या हल कर दी। धन्यवाद @ फलेक्स
एंडी श्मिट

7

यदि आपने उपयोग नहीं किया है Update-Databaseतो आप इसे हटा सकते हैं। यदि आपने अपडेट चलाया है तो इसका उपयोग करके वापस रोल करेंUpdate-Database -TargetMigration "NameOfPreviousMigration" , फिर इसे हटा दें।

संदर्भ: http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/

मैंने इस पाठ को यहाँ से सीधे कॉपी किया: मैं अंतिम ऐड-माइग्रेशन कमांड को पूर्ववत् कैसे करूँ?


7

इस समस्या में भाग लेते समय, कृपया अपने ऐड-माइग्रेशन cmdlet में पैरामीटर जोड़ने का प्रयास करें। उदाहरण के लिए, स्टार्ट अप प्रोजेक्ट को निर्दिष्ट करने के साथ-साथ कनेक्शन स्ट्रिंग नाम ईएफ को आपके लक्ष्य डेटाबेस को खोजने में मदद कर सकता है।

add-migration Delta_Defect_0973 -ConfigurationTypeName your.namespace.ContextClassName -StartUpProject DeltaProject -ConnectionStringName DeltaSQL

कहाँ पे:

Delta_Defect_0973 आपके प्रवास का नाम है

your.namespace.ContextClassName आपके माइग्रेशन फ़ोल्डर में आपके कॉन्फ़िगरेशन वर्ग का नाम है, जो पूर्ण नाम स्थान के साथ उपसर्ग करता है।

DeltaProject आपके web.config या app.config फ़ाइल के साथ आपकी मुख्य परियोजना का नाम है।

DeltaSQL आपके web.config या app.config फ़ाइल में परिभाषित कनेक्शन स्ट्रिंग का नाम है।


धन्यवाद। इसने वास्तव में मेरी मदद की।
जेस

इसके अलावा, यदि आप अपने समाधान में निर्भरता इंजेक्शन का उपयोग कर रहे हैं, तो आपको पैकेज मैनेजर कंसोल में एक अलग डिफ़ॉल्ट प्रोजेक्ट का चयन करना पड़ सकता है। यदि EF आपके माइग्रेशन का पता लगाने में असमर्थ है, तो उस प्रोजेक्ट का चयन करने का प्रयास करें जिसमें वास्तव में माइग्रेशन डिफ़ॉल्ट प्रोजेक्ट के रूप में हो।
यवेस रूचोन

5

इस त्रुटि का मतलब है कि अन्य स्पष्ट प्रवासन को निष्पादित करने से पहले लंबित माइग्रेशन की आवश्यकता है। आप चुन सकते हैं

  1. अद्यतन-डेटाबेस आदेश का उपयोग कर उन लंबित पलायनों को निष्पादित करें
  2. उन लंबित माइग्रेशन को हटाएं। सबसे सुरक्षित तरीका है माइग्रेशन फ़ोल्डर, राइट क्लिक [201203170856167_left]> प्रोजेक्ट से बाहर निकालें

इसके बाद आप फिर से "ऐड-माइग्रेशन ..." शुरू कर सकते हैं

आशा करता हूँ की ये काम करेगा


4

केवल मेरे दो सेंट्स:

मेरा परिदृश्य:

  1. मैंने अपने स्थानीय डेटाबेस को एक कार्यशील स्थिति में पुनर्स्थापित किया।
  2. पहले से ही माइग्रेशन पहले से ही इसके लिए लागू थे।
  3. जब भी मैंने एक नया माइग्रेशन जोड़ने की कोशिश की, मुझे अपने ओपी के रूप में लंबित माइग्रेशन के बारे में त्रुटि मिली।

उपाय:

इसके आसपास जाने के लिए मैंने सिर्फ और अधिक स्पष्ट पैरामीटर प्रदान किए हैं:

Add-Migration -ConnectionString "Server=localhost\SQLEXPRESS;Database=YourDataBase;Trusted_Connection=True;" -ConnectionProviderName "System.Data.SqlClient" -verbose

मुझे विश्वास है कि आप अपने app.config फ़ोल्डर में एक सेटिंग सेट कर सकते हैं ताकि आप इस व्यवहार को डिफ़ॉल्ट कर सकें ताकि आपको हर समय स्पष्ट पैरामीटर प्रदान न करना पड़े। हालांकि मुझे यकीन नहीं है कि यह कैसे करना है।


1
यह मेरे लिए काम करता है, मैंने सिर्फ ऊपर दिखाए गए कमांड के अंत में माइग्रेशन का नाम जोड़ा है।
sfors का कहना है कि मोनिका

1
=) - खुशी है कि मैं मदद कर सकता है।
IbrarMumtaz

1
-ConnectionStringNameइसके लिए एक विकल्प है, और आपके विन्यास से कनेक्शन स्ट्रिंग को नाम से खींच लेगा
Simon_Weaver

1
इससे मुझे मदद मिली क्योंकि मैं विन्यास फाइल में कनेक्शन स्ट्रिंग को संग्रहीत नहीं कर रहा हूं
सिनसिनॉफ्ट

3

एक अस्पष्टता और इतनी त्रुटि है। सबसे अच्छा तरीका है कि आप वर्तमान माइग्रेशन फ़ाइल को छोड़कर नई माइग्रेशन ( ऐड-माइग्रेशन ) फ़ाइल बनाएं और फिर नई माइग्रेशन की सामग्री को बाहर की गई फ़ाइल में कॉपी करें और इसे फिर से शामिल करें और अपडेट-डेटाबेस कमांड चलाएं ।


मैंने सिर्फ update-databaseकमान चलाई और फिर अपनी add-migrationकमान वापस ले ली और इसने काम किया
स्मिता-वेर्बेन-जार्ज-मैनजेंसन

3

मैंने इस तरह की समस्या हल की:

  • पुरानी माइग्रेशन फ़ाइल हटाएं
  • अद्यतन-डेटाबेस -force
  • ऐड-माइग्रेशन AddEntity
  • डेटाबेस अद्यतन करें

1

मेरे पास एक ही समस्या थी और वह केवल ऐड-माइग्रेशन 'माइग्रेशननाम' -Force चलाने को हल करने में सक्षम था

के साथ-तलाक महत्वपूर्ण हिस्सा है।


1

मेरे स्थानीय डेटाबेस में __MigrationHistoryआबादी, या मौजूदा नहीं थी। मैंने मैन्युअल रूप से तालिका बनाई, और फिर उस तालिका में डेटा को PROD से मेरे स्थानीय डेटाबेस में स्थानांतरित कर दिया। इससे वीएस को लगा कि माइग्रेशन लागू हो गया था (जो वे कर चुके थे)।


मेरे पास एक ही समस्या थी, मैंने अपने लाइव DB को उत्पादन में विलय कर दिया लेकिन इसलिए प्रवासन इतिहास खो गया।
परिपक्व

1

युक्ति:-Script यदि आप निश्चित नहीं हैं तो माइग्रेशन कमांड के लिए स्विच का उपयोग करना हमेशा अच्छा होता है। यह वास्तव में क्या समझने में मदद करता हैUpdate-Database वास्तव में करता है।

मैं डेटाबेस को अपडेट करने के लिए निम्नलिखित चलाता हूं, फिर मुझे एक स्क्रिप्ट मिलती है जिसे मैं मैन्युअल रूप से लागू कर सकता हूं (या बस इसे फिर से-टैग के बिना चला सकता हूं)।

क्योंकि Update-Databaseमैं निम्नलिखित चलाऊंगा:

Update-Database -Script -ConfigurationTypeName Configuration_ASPNETIdentity -ConnectionStringName SQL_AzureLive

कहाँ पे SQL_AzureLiveमेरे कॉन्फ़िगरेशन में नामित कनेक्शन स्ट्रिंग है।

तब मैं सत्यापित कर सकता हूं कि एसक्यूएल सही दिखता है, इसे लागू करें और किया जाए। जैसा कि कई अन्य लोगों ने कहा है कि यदि कनेक्शन स्ट्रिंग गलत है या अमान्य है तो आपको यह त्रुटि मिलेगी।


1

मेरे लिए, मैंने Migrationsफ़ोल्डर से माइग्रेशन फ़ाइल (आपके मामले में "201203170856167_left") को हटा दिया , और फिर पैकेज मैनेजर कंसोल में नीचे कमांड को चलाया

Add-Migration <Parameter>
Update-Database

0

परिदृश्य

  • मैं उस शाखा में काम कर रहा हूँ जिसमें मैंने एक नया DB प्रवास बनाया।
  • मैं मास्टर से अपडेट करने के लिए तैयार हूं, लेकिन मास्टर का हालिया डीबी माइग्रेशन भी है।
  • विरोधों को रोकने के लिए मैं अपनी शाखा का db माइग्रेशन हटा देता हूं।
  • मैं "मास्टर से अपडेट"।

संकट

मास्टर से अपडेट करने के बाद, मैं "ऐड-माइग्रेशन my_migration_name" चलाता हूं, लेकिन निम्न त्रुटि प्राप्त करता हूं:

एक स्पष्ट माइग्रेशन उत्पन्न करने में असमर्थ क्योंकि निम्नलिखित स्पष्ट माइग्रेशन लंबित हैं: [201607181944091_AddExternalEmailActivity]। नया स्पष्ट माइग्रेशन जनरेट करने का प्रयास करने से पहले लंबित स्पष्ट माइग्रेशन लागू करें।

इसलिए, मैं "अपडेट-डेटाबेस" चलाता हूं और निम्नलिखित त्रुटि प्राप्त करता हूं:

वर्तमान मॉडल से मिलान करने के लिए डेटाबेस अपडेट करने में असमर्थ क्योंकि लंबित परिवर्तन हैं और स्वचालित माइग्रेशन अक्षम है

उपाय

इस बिंदु पर "एड-माइग्रेशन my_migration_name" को फिर से चलाने से मेरी समस्या हल हो गई। मेरा सिद्धांत यह है कि "अपडेट-डेटाबेस" को चलाने के लिए राज्य में वह सब कुछ मिला, जो काम करने के लिए "ऐड-माइग्रेशन" के लिए होना चाहिए।


0

मैं भी इस मुद्दे पर आया था। यह तब आया जब मैंने नया DB बनाया और मेरे पास मेरे पहले-पहले DB प्रवास के लिए बदलाव लंबित थे तब मैंने "अपडेट-डेटाबेस" कमांड चलाने की कोशिश की। समाधान: नए DB के लिए नया माइग्रेशन बनाने के लिए "ऐड-माइग्रेशन-माइग्रेशननाम" कमांड चलाएँ। फिर "अपडेट-डेटाबेस" कमांड चलाएं।


0

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


मेरे परिदृश्य में कमांड चलाते समय डेटाबेस का नाम सेंसेटिव था। जैसे ही
कनेक्शनस्ट्रिंग

0

ऐसा तब हुआ था जब मैंने अचानक पुराने प्रवास के वर्ग का नाम बदल दिया था जो पहले से ही db में मौजूद था। मैंने वीसीएस इतिहास की जाँच की, यह निर्धारित किया और वापस नाम दिया। सब बाद में काम किया।


0

मैंने दूसरा तरीका किया। मैंने डेटाबेस को पूरी तरह से छोड़ दिया और "अपडेट-डेटाबेस" को फिर से बनाम में चला दिया।


यह एक व्यवहार्य तय नहीं करता है; वैध प्रवासन मौजूदा संरचना को बनाए रखता है।
फर्डिपक्स

0

मुझे एक सरल समस्या थी। वीएस ने गलती से इस त्रुटि की सूचना दी जब मेरे पास अपने कार्य केंद्र से जुड़े क्लाइंट की साइट पर वीपीएन कनेक्शन था। समस्या यह थी कि DBMS सुरक्षा केवल मेरे वास्तविक स्थानीय IP से अनुरोध स्वीकार करने के लिए सेट की गई थी। बस वीपीएन बंद करने से समस्या हल हो गई।


0

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


0

ऐतिहासिक रूप से मैंने हमेशा लंबित पलायन को हटाकर इसे हल किया था, या यदि केवल 1 शेष था और इसे -fफिर से बनाने के लिए उपयोग करके, यह ज्यादातर वांछनीय था ।

हाल ही में, इसने मेरे लिए काम करना बंद कर दिया है।

जब यह पहली बार हुआ, मैंने Visual Studio को पुनः आरंभ किया, और फिर इसने मुझे आगे बढ़ने दिया।

दूसरी बार, यह केवल प्रोजेक्ट पर क्लीन रन करने के बाद काम किया। यह लगभग ऐसा था जैसे कि एक्सप्लोरर से सभी फाइलों को हटाने के बावजूद लंबित माइग्रेशन बनाए रखा गया था।


0

यह कई लोगों के लिए जवाब देने वाला नहीं है, लेकिन EF इस त्रुटि को चक देगा जब यह DB से कनेक्ट नहीं हो सकता है। यदि आप घर से काम कर रहे हैं जैसे मैं हूँ, तो सुनिश्चित करें कि आप अभी भी अपने वीपीएन से जुड़े हुए हैं!


-1

एक माइग्रेशन से दूसरे में जाने के बाद मुझे ठीक वैसी ही समस्या हुई।

मेरे मामले में "माइग्रेशन06" से "माइग्रेशन04" तक मैंने "टारगेट माइग्रेशन" किया।

मुझे "माइग्रेशन 0" 6 को हटाने की आवश्यकता थी और फिर मैं "माइग्रेशन05" बनाने के लिए बाध्य करने में सक्षम था। इसका मूल रूप से मतलब है कि आपको लक्षित के बाद बस अगले प्रवास को रखने की आवश्यकता है।


-1

मेरे मामले में (MS Visual Studio का उपयोग करके), यह Visual Studio को पुनः आरंभ करने जैसा ही सरल था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.