2011-02-15 8 views
12

तो, मेरी इकाई वर्ग (सी # में लिखी गई) एक मूल बच्चे मॉडल का पालन करती है जहां प्रत्येक बच्चे के ऑब्जेक्ट में एक मूल संपत्ति होनी चाहिए जिसमें यह अपने माता-पिता का संदर्भ रखती है।क्या सर्कुलर संदर्भों के साथ क्रमबद्धता करना संभव है?

यह अभिभावक संपत्ति परिपत्र संदर्भों के कारण ऑब्जेक्ट के क्रमबद्धरण में समस्याएं उत्पन्न करती है।

मैं माता पिता के संदर्भ में नहीं निकाल सकते, न तो मैं चिह्नित कर सकते हैं यह XmlIgnore

इस पर कोई भी विचार (के बाद से मैं जब मैं एक्सएमएल deserialize इसे वापस पढ़ने की जरूरत है)?

उत्तर

11

एक्सएमएल धारावाहिक परिपत्र संदर्भों का समर्थन नहीं करता है, आपको XmlIgnore विशेषता का उपयोग करके क्रमिकरण से मूल संपत्ति को बाहर करने की आवश्यकता है। जब आप deserialize करते हैं तो रिश्ते को बनाए रखने के लिए this blog post देखें।

वैकल्पिक रूप से, आप XmlSerializer के बजाय DataContractSerializer का उपयोग कर सकते हैं। यह परिपत्र संदर्भों का समर्थन करता है, लेकिन एक्सएमएल स्कीमा पर अधिक नियंत्रण प्रदान नहीं करता है ...

+0

अच्छा ब्लॉग पोस्ट। अपने उदाहरण की कोशिश कर रहा हूँ। –

+0

धन्यवाद थॉमस, आपका समाधान जीवन बचतकर्ता था! –

11

आप अपनी खुद की XMLSerializer बना सकते या DataContractSerializer और [DataContract(IsReference= true)] विशेषता का उपयोग संदर्भ याद करने के लिए serializer बताने के लिए कर सकते हैं।

+1

प्रतिक्रिया के लिए धन्यवाद, कोड के टुकड़े के साथ कोई उदाहरण अधिक सहायता जोड़ देगा। :) –

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

  • कोई संबंधित समस्या नहीं^_^