2009-05-22 11 views
10

SQL के लिए LINQ में/ताज़ा इकाई संलग्न Sql, करने के लिए जब मेरे संस्थाओं, संकाय, मैं, संकाय वस्तु का एक नया उदाहरण बनाने रहा हूँ में से एक को अद्यतन करने तो उपयोगकर्ता द्वारा आपूर्ति किए गए मान के साथ गुण से कुछ आरंभ ।Linq वस्तु

यदि मैं इस नए ऑब्जेक्ट को इकाई सेट पर संलग्न करता हूं, और परिवर्तन सबमिट करता हूं, तो जो गुण मैंने सेट नहीं किए हैं, वे जो भी डेटाटाइप हैं, उनके डिफ़ॉल्ट मान पर लेते हैं।

मैं नई ऑब्जेक्ट को रीफ्रेश कैसे कर सकता हूं ताकि सेट किए गए गुण उनके मान रख सकें और गुण जो सेट नहीं किए गए हैं, डेटाबेस से मान प्राप्त करते हैं?

धन्यवाद

+0

जिज्ञासा से बाहर, शून्य प्रकार "GUID" हैं? – vidalsasoon

+0

नहीं वे पूर्णांक हैं –

उत्तर

14

आप का प्रयास किया था

context.Refresh(RefreshMode.OverwriteCurrentValues, faculty);

के बाद बदलाव जमा जहां context अपने linq2sql DataContext है और faculty इकाई आप चाहते हैं ताज़ा करने के लिए है?

+0

मैंने देखा है कि इसे 'yourBindingSource.ResetCurrentItem();' करने के लिए भी आवश्यक है; 'यदि आप बाध्यकारी स्रोत की' CurrentChanged 'ईवेंट के बाहर इकाई को रीफ्रेश कर रहे हैं। – Dor

0

डेटाबेस से वस्तु को पुन: प्राप्त है, तो उचित मूल्यों में परिवर्तन, तो अद्यतन प्रस्तुत करने के बारे में क्या?

+0

मैं कुछ कोड बनाए रखता हूं जो संलग्न विधि का उपयोग करता है, और मुझे पूरा यकीन नहीं है कि यह आपके द्वारा शुरू करने के लिए सुझाव देने के लिए क्यों नहीं लिखा गया था। –

+0

मुझे लगता है कि वह एक टेबल में एक नई प्रविष्टि बनाने का जिक्र कर रहा है। – vidalsasoon

+0

ओह! अब मुझे याद आया। ऐसा इसलिए है क्योंकि संस्करण नामक एक टाइमस्टैम्प फ़ील्ड है। आपके द्वारा सुझाए गए कार्यों को करने से यह त्रुटि होती है: 'संकाय' प्रकार की वस्तु के सदस्य 'संस्करण' का मूल्य बदल गया। डेटाबेस द्वारा गणना या जेनरेट किया गया एक सदस्य बदला नहीं जा सकता है। –