10

हमने "विजुअल स्टूडियो 2012 अल्टीमेट में एमवीसी प्रोजेक्ट" बनाया है और "कोड फर्स्ट" का उपयोग किया है। अब हम इस परियोजना को "विजुअल स्टूडियो 2015 प्रोफेशनल" में परिवर्तित करना चाहते हैं।सिस्टम। स्टैक ओवरव्लो एक्सेप्शन त्रुटि, दृश्य स्टूडियो 2013 प्रोजेक्ट को 2015 में एंटिटी फ्रेमवर्क कोड का उपयोग करते हुए पहले

वर्तमान प्रोजेक्ट विन्यास: -

.Net Framework संस्करण: 4.5

MVC संस्करण: 5,0 (5.2.2)

प्रयुक्त इकाई की रूपरेखा: 6,0 (6.1.1)

समस्या: हमें "ऑनमोडेल क्रिएटिंग" फ़ंक्शन में त्रुटि मिली है। नीचे मैंने स्निपेट कोड लिखा है।

protected virtual void OnModelCreating(DbModelBuilder modelBuilder) <---  Error throw at this line System.StackOverflowException 
{ 
    //Foreign key relation 

} 

StackOVerFlow Exception error may be due to recursion

अलग अलग मुद्दा है जो हम

1.Sometime सामना करना पड़ा है जब मैं टिप्पणी OnModelCreating विधि में विदेशी कुंजी संबंध की तुलना में यह काम ठीक है। 2. इस त्रुटि का संभावित कारण रिकर्सन हो सकता है लेकिन यह पहले वीएस 2012 और वीएस 2013 में ठीक काम कर रहा था। अब इस विजुअल स्टूडियो 2015 संस्करण में क्या गड़बड़ है।
3. विजुअल स्टूडियो 2015 में ऑनमोडेल क्रिएटिंग विधि का कुछ हिस्सा एक मशीन में ठीक काम करता है लेकिन एक ही कोड अन्य मशीन में काम नहीं करता है।

+0

@GertArnold मैं अपने प्रोजेक्ट में शुरुआत से एंटीटी फ्रेमवर्क 6.1.3 का उपयोग कर रहा हूं लेकिन यह कोई मुद्दा नहीं है। एंटीटी फ्रेमवर्क 6.1.3 पर कुछ निर्भरता हो सकती है लेकिन मुझे कहीं भी कुछ भी नहीं मिला है। – Dilip0165

+0

@GertArnold वास्तव में मैंने पहले 6.1.1 और ईएफ के 6.1.3 संस्करण दोनों की कोशिश की है। – Dilip0165

+0

तो "वर्तमान परियोजना कॉन्फ़िगरेशन" VS2012 प्रोजेक्ट पर भी लागू होता है? मैंने सोचा था। नेट 4.5 को वीएस2012 में समर्थित नहीं था (याद नहीं है)। बस निश्चित रूप से: क्या आपने (एस) वीएस2015 में ईएफ NuGet पैकेज स्थापित किया था? –

उत्तर

0

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

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