मेरे पास एक मूल वस्तु है जिसमें बाल वस्तुओं के आईएलआईस्ट के साथ कई संबंध हैं। बाल वस्तुओं को हटाने का सबसे अच्छा तरीका क्या है? मैं माता-पिता को हटा नहीं रहा हूं। मेरे मूल वस्तु में बाल वस्तुओं का एक IList शामिल है।NHibernate में बाल ऑब्जेक्ट को कैसे हटाएं?
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column
:
<bag name="Tiers" cascade="all">
<key column="mismatch_id_no" />
<one-to-many class="TGR_BL.PromoTier,TGR_BL"/>
</bag>
अगर मैं का उपयोग कर साफ(), तो SaveOrUpdate() फोन संग्रह से सभी वस्तुओं को हटाने की कोशिश करते हैं, मैं इस अपवाद: यहाँ कई रिश्ते के लिए एक के लिए मानचित्रण है
अगर मैं बच्चे को हटाने के लिए वस्तुओं को व्यक्तिगत रूप से तो माता-पिता से उन्हें हटाने की कोशिश, मैं एक अपवाद प्राप्त करें:
deleted object would be re-saved by cascade
यह मेरा पहला NHibernate में बच्चे वस्तुओं को हटाने के साथ काम कर रहा है। मैं क्या गलत कर रहा हूं?
संपादित करें: बस स्पष्ट करने के लिए - मैं मूल वस्तु को हटाने की कोशिश नहीं कर रहा हूं, केवल बाल वस्तुओं को हटा रहा हूं। मेरे माता-पिता पर कई लोगों के साथ संबंध स्थापित हैं। क्या मुझे बच्चे ऑब्जेक्ट मैपिंग पर कई से एक रिश्ते बनाने की भी आवश्यकता है?
बस स्पष्ट करने के लिए - मुझे अभी केवल माता-पिता ऑब्जेक्ट पर रिश्ते को परिभाषित किया गया है। मैंने उस ऑब्जेक्ट पर कैस्केड को "ऑल" और "ऑल-डिलीट-अनाथ" दोनों बार एक ही परिणाम के साथ सेट करने का प्रयास किया है। तुम्हारा मतलब है कि मुझे बच्चे के ऑब्जेक्ट पर कई से एक रिश्ते को परिभाषित करने की ज़रूरत है? –
और इस मामले में उलटा = "सत्य" माता-पिता या बच्चे की वस्तु पर है? –
यह उस वर्ग से संबंधित है जिसमें विदेशी कुंजी नहीं है ... आमतौर पर माता-पिता। – pmlarocque