2012-11-14 11 views
6

मैं इकाई-ढांचे को जोड़ने के लिए आवेदन सांत्वना देने की कोशिश: मैं दबाएँ और enter image description hereकैसे इकाई-ढांचे को जोड़ने के लिए आवेदन सांत्वना देने (चित्र शामिल किए गए हैं)

तो

enter image description here

"नया आइटम जोड़ने" तो

enter image description here

enter image description here

enter image description here

enter image description here

तो मैं कोड कहा:

class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       Database1Entities db = new Database1Entities(); 
       db.AddToTableTest(new TableTest { name = "name" }); 
       db.SaveChanges(); 

       int count = db.TableTest.Count(); 
       int ui = 9 + 0; 
      } 
      catch (Exception e) 
      { 

      } 
     } 
    } 

यह कोई त्रुटि देता है, लेकिन मैं डेटाबेस में कोई भी परिवर्तन नहीं दिख रहा। मैंने इस मुद्दे को बेहतर तरीके से वर्णित किया here

+4

अगर आप अपवाद निगल रहे हैं तो आपको कोई त्रुटि नहीं मिलती है? –

+1

मैंने ब्रेकपॉइंट रखा –

+1

आपको यह तब तक त्रुटि देना चाहिए जब तक आप सुनिश्चित न हों कि आपको यह काम मिल गया है। यदि आपके पास 'try/catch' है, तो आपको केवल कैच ब्लॉक पर अपवाद के बारे में पता चल जाएगा। यदि आपके पास यह बिल्कुल नहीं है, लेकिन आप डिबगिंग कर रहे हैं, तो आप इसके बारे में अनदेखी लाइन पर इसके बारे में जानेंगे, ताकि आप देख सकें कि इसमें क्या गलत है। (इस व्यवहार को बदलने के लिए वीएस में विकल्प हैं, लेकिन यह डिफ़ॉल्ट है) – Bobson

उत्तर

3

मैंने ईएफ मॉडल स्थापित करने के लिए आपके द्वारा किए गए वही कदम उठाए। आपकी database.mdf फ़ाइल में Copy to Output DirectoryCopy always पर सेट है, जिसका अर्थ यह है कि हर बार जब आप F5 दबाते हैं (अपना ऐप बनाएं या डीबग करें) फ़ाइल को आपके प्रोजेक्ट पर रिक्त स्थान से बदल दिया जा रहा है।

mdf फ़ाइल की प्रॉपर्टी विंडो पर Copy to Output Directory बदलना आपकी समस्या का समाधान करना चाहिए।

यदि आप Copy if newer का उपयोग करते हैं तो आप डेटाबेस की सामग्री (एमडीएफ) को संपादित करते समय डेटाबेस की सामग्री पर किसी भी संशोधन को जारी रखने जा रहे हैं।

Do not copy के साथ एमडीएफ फ़ाइल में कोई भी बदलाव आपके आवेदन पर प्रतिबिंबित नहीं होने वाला है और शायद ईएफ के साथ समस्याएं उत्पन्न करेगा।

मैं इस परिदृश्य के लिए अनुशंसा करता हूं कि आप Copy if newer का उपयोग करें और अपना मूल डेटा एमडीएफ फ़ाइल में भरें ताकि आप हमेशा उपलब्ध रह सकें।

+0

मैंने विभिन्न संयोजनों की कोशिश की, और अगर नई भी कॉपी करें। लेकिन जब मैं डेटाबेस से कनेक्शन बंद करता हूं और फिर इसे रीफ्रेश करता हूं, तो अभी भी गिनें = 1 –

+0

इसका ताज़ा करके इसका क्या अर्थ है? कृपया इस तरह कुछ उपयोग करें और अपने परिणामों को पेस्ट करें: http://pastebin.com/MdwgeHKn –

+0

परिणाम सरल हैं। अगर मैं केवल F5 5 बार दबाता हूं, तो गिनती = 5. लेकिन अगर मैं प्रोजेक्ट बंद करता हूं और इसे खोलता हूं और फिर F5 दबाता हूं, तो गिनती = 1 होगी। इसलिए मुझे लगता है कि, आप सही हैं, डेटाबेस को नए द्वारा प्रतिस्थापित किया गया है। लेकिन इसे कैसे रोकें? –

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