विजुअल स्टूडियो 2012 ने परियोजनाओं/myproject फ़ोल्डर के बजाय उपयोगकर्ताओं/myuser में एमडीएफ बनाया। क्यूं कर?

I'm working through the Movies tutorial here

यह विजुअल स्टूडियो में दिखाता है कि एमडीएफ फ़ाइल App_Data में बनाई जानी चाहिए, जब मैं एक्सप्लोरर में खोलता हूं, कोई फाइल नहीं दिखाता है। मेरे कंप्यूटर पर एमडीएफ फ़ाइल सी:/उपयोगकर्ता/myprofile में है। प्रोजेक्ट के तहत App_Data फ़ोल्डर में एमडीएफ फ़ाइलों को स्वचालित रूप से कैसे बनाया जा सकता है?

0
पहली कनेक्शन स्ट्रिंग डिफ़ॉल्ट (डुह) है, और दूसरी बात यह है कि ट्यूटोरियल ने मुझे जोड़ने के निर्देश दिए:
जोड़ा लेखक devlin carnate, स्रोत
आपके web.config में कनेक्शन स्ट्रिंग कैसा दिखता है?
जोड़ा लेखक JLe, स्रोत

1 उत्तर

आपके संदर्भ के लिए आपके कनेक्शन स्ट्रिंग में


आपने निर्दिष्ट नहीं किया है कि डेटाबेस किस निर्देशिका में बनाया जाना चाहिए (AttachDBFilename विशेषता)। इसलिए LocalDb इसे डिफ़ॉल्ट स्थान पर बनाता है, जो आपका उपयोगकर्ता फ़ोल्डर है। इसके सामने | DataDirectory | \ जोड़ें:


|DataDirectory|\ will be replaced with App_Data for a web application.

आप अपने web.config से भी डिफ़ॉल्ट कनेक्शन हटा सकते हैं (जब तक कि आप इसे किसी अन्य चीज़ के लिए उपयोग नहीं कर रहे हैं, जिसे मैं संदेह करता हूं)।

0
जोड़ा
मुझे एक त्रुटि मिलती है: फ़ाइल का निर्माण करें ऑपरेटिंग सिस्टम त्रुटि 123 (फ़ाइल नाम, निर्देशिका नाम, या वॉल्यूम लेबल वाक्यविन्यास गलत है।) भौतिक फ़ाइल को खोलने या बनाने का प्रयास करते समय 'C: \ Users \ myprofile \ | DataDirectory | _aspnet-MvcMovie -20122131 और जेडडब्ल्यूएनजे; 81139.mdf '।
जोड़ा लेखक devlin carnate, स्रोत
ठीक है, तो यह करीब है। अगर मैं mdf को उपयोगकर्ता/myprofile से app_data फ़ोल्डर में कॉपी करता हूं और आपके द्वारा दिए गए कनेक्शन स्ट्रिंग संशोधन का उपयोग करता है, तो यह काम करता है। हालांकि, अगर उस निर्देशिका में एमडीएफ पहले से मौजूद नहीं है, तो यह विफल रहता है (कह रहा है कि यह फ़ाइल संलग्न नहीं कर सकता है)। अगर कोई app_data में मौजूद नहीं है तो क्या यह एक नया एमडीएफ नहीं बनाना चाहिए?
जोड़ा लेखक devlin carnate, स्रोत
पूर्णता। बहुत बहुत धन्यवाद!
जोड़ा लेखक devlin carnate, स्रोत
माफ़ कीजिये! मेरा मतलब अटैचडबीफिलनाम विशेषता है, इनटाइटल कैटलॉग नहीं ... मेरा जवाब अपडेट किया गया, देखें कि यह इसे बेहतर बनाता है या नहीं!
जोड़ा लेखक JLe, स्रोत
समस्या यह है कि डेटाबेस नाम (aspnet-MvcMovie-2012213181139) स्थानीय डीबी में पहले से मौजूद है, इसलिए यदि आप फ़ाइलों को हटाते हैं तो डेटाबेस दूषित हो जाता है। यदि आपके पास SQL ​​प्रबंधन स्टूडियो स्थापित है, तो आप अपने स्थानीय डीबी इंस्टेंस से कनेक्ट कर सकते हैं (नाम है: (localdb) \ v11.0 ) और इसे हटा दें। अन्यथा, बस इसे एक नया नाम दें, जैसे कि
जोड़ा लेखक JLe, स्रोत