2009-05-13 9 views
12

वास्तव में बेवकूफ सवाल, क्षमा करें, लेकिन मुझे इसे Google पर नहीं मिल रहा है (मुझे यकीन है कि यह स्क्रीनकास्ट में है या कहीं कहीं है)। मेरे पास एक डीबीएमएल (linq2sql वर्ग) आरेख है और मैंने अंतर्निहित डेटाबेस बदल दिया है। वीएस 2008 में, मैं आरेख को "रीफ्रेश" कैसे करूं? कोई दृश्य नहीं है -> ताज़ा करें या राइटक्लिक-> ताज़ा करें या अपडेट विकल्प।एक डीबीएमएल आरेख को ताज़ा करना?

जैसा कि यह अभी खड़ा है, मुझे हर बार अंतर्निहित डीबी अपडेट करने पर पूरे linq2sql कक्षाओं को फिर से बनाना होगा।

उत्तर

8

सही क्लिक करें और "कस्टम उपकरण चलाएँ" (dbml फ़ाइल पर समाधान एक्सप्लोरर में)

+1

वैसे यह थोड़ा गैर-सहज ज्ञान युक्त है। धन्यवाद! – Chris

+0

नरक हाँ, मुझे "कस्टम टूल" खोजने के लिए कुछ समय लगा, वास्तव में वह चीज है जो calsses उत्पन्न करती है :) –

+4

यह डेटाबेस परिवर्तनों के साथ डीबीएमएल फ़ाइल को अद्यतन नहीं करता है। यह कोड जनरेटर को ट्रिगर करता है जो डीबीएमएल फ़ाइल से सी # या वीबी कोड उत्पन्न करता है। डीबीएम परिवर्तनों को अभी भी डीबीएमएल फ़ाइल में एक या दूसरे तरीके से प्रचारित करने की आवश्यकता है - मेरा जवाब देखें। – KristoferA

5

आप आप कर सकते हैं तो अपने dbml आरेख में डेटाबेस परिवर्तन लाना चाहते हैं:

परिवर्तित इकाइयों की एक) को हटाने डिजाइनर आरेख से और उन्हें फिर से खींचें। आप किसी भी अनुकूलन खो देंगे (उदा। कक्षा और संपत्ति नाम परिवर्तन आदि)।

ख) मैन्युअल आरेख को अद्यतन, वर्ग, सदस्य गुण, आदि

ग को हटाने जोड़ने /) एक तीसरी पार्टी उपकरण की तुलना और अंतर्निहित डेटाबेस के साथ dbml फ़ाइल को अद्यतन करने में सक्षम का उपयोग करें। ऐसा एक उपकरण मेरा ऐड-इन है, Huagati DBML/EDMX Tools। यह वीएस -2008 और वीएस -2010 में एल 2 एस डिजाइनर में सुविधाओं का एक समूह जोड़ता है, जिसमें अपडेट/सिंक, तुलना, जन-नामकरण, नाम नियम प्रवर्तन, विस्तारित गुण/इंडेक्स/आदि से दस्तावेज, एकाधिक 'दृश्य' प्रति डीबीएमएल आरेख इत्यादि शामिल हैं

+0

यदि आप इसे मैन्युअल रूप से दृश्य में जोड़कर चित्र को अपडेट करते हैं (कोई भी कुछ टेक्स्ट-एडिटर में .xml को भी संपादित कर सकता है), सुनिश्चित करें कि केवल 'नाम' सेट न करें, बल्कि 'स्रोत'' सेट करें उपयुक्त कॉलम)। यह इस त्रुटि-संदेश को रोक देगा: 'कोई ऑब्जेक्ट या कॉलम नाम गुम या खाली है। विवरणों में चयन के लिए, प्रत्येक कॉलम का नाम सत्यापित करें। ' –

1

सबसे पहले आपको .ddf फ़ाइल को .dbml फ़ाइल में अद्यतन करना होगा। मैंने cmd प्रॉम्प्ट खोलकर और SqlMetal.exe पथ के बराबर पथ को निर्देशित करके किया। उसके बाद उस निर्देशिका को बदलें जहां .sdf डेटाबेस है, फिर "SqlMetal.exe (nameofdatabase) .sdf /dbml:(nameofdatabase).dbml" टाइप करना। इसके बाद राइट क्लिक करें और "कस्टम टूल चलाएं" चुनें (डीबीएमएल फाइल पर समाधान एक्सप्लोरर में)। ऐसा करना चाहिए (कम से कम मेरे लिए यह किया)।

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