मेरे पास Patient
नामक इकाई इकाई है और इस इकाई में Visits
नामक एक संपत्ति है जो VisitsCollection
प्रकार है।NHibernate कस्टम संग्रह प्रकार
VisitsCollections
IList<Visit>
का एक बाल वर्ग है लेकिन यह संग्रह में कुछ कस्टम तर्क भी जोड़ता है (जैसे ऑटो ऑर्डरिंग, कुछ सत्यापन, अधिसूचनाएं, आदि ..)।
I कस्टम संग्रह प्रकार का उपयोग करने के लिए की आवश्यकता है क्योंकि यह संग्रह में जोड़े गए इकाइयों को कुछ डेटा जोड़ता है और पारदर्शी रूप से कुछ अन्य कागजी कार्य करता है।
अब मैं मैप करने के लिए है कि NHibernate में चाहते हैं, तो मैं बना लिया है:
<list name="Visits" lazy="true" fetch="select">
<key foreign-key="PatientId" />
<index column="Timestamp" />
<one-to-many class="Visit" not-found="ignore"/>
</list>
मैं एक अपवाद हो रही है:
प्रकार के 'NHibernate.Collection वस्तु कास्ट करने में असमर्थ। PersistentList 'टाइप करने के लिए' ... विज़िटकोलेक्शन '
जब भी मैं विज़िट प्रॉपर्टी एक्सेस कर रहा हूं।
मैं भी यह इस तरह से मैप करने के लिए कोशिश की है:
<list name="Visits" lazy="true" fetch="select" collection-type="VisitsCollection">
<key foreign-key="PatientId" />
<index column="Timestamp" />
<one-to-many class="Visit" not-found="ignore"/>
</list>
लेकिन अभी भी, मैं इस अपवाद हो रही है:
कस्टम प्रकार UserCollectionType को लागू नहीं करता है: ..... VisitsCollection
मैं के रूप में संग्रह वर्ग एक रूपरेखा है कि मैं इसे दाल-agnos होना चाहता हूँ का हिस्सा है किसी भी NHibernate प्रकार से मेरी VisitsCollection
वारिस नहीं करना चाहते टिक (क्योंकि यह कई परिदृश्यों में उपयोग किया जाएगा - न केवल डेटाबेस के साथ)।
मेरे कोड की संरचना को संरक्षित करने के तरीके पर कोई विचार नहीं है?
अग्रिम धन्यवाद।