यहाँ मेरी स्थिति है ..
मान लीजिए आप निम्नलिखित मॉडल संस्थाओं, जो अपने दम पर एक टेबल का प्रतिनिधित्व करते हैं:
सिनेमा [Movie_Id, शीर्षक, रेटिंग, ..]
अभिनेता [Actor_Id, प्रथम नाम, अंतिम नाम, ..]
निदेशक [Director_Id, प्रथम नाम, अंतिम नाम, ..]
और किसी अन्य संस्था/तालिका "अनुशंसाएँ" कहा जाता है, जो फिर से वेबसाइट के भीतर उपयोगकर्ताओं के बीच सिफारिशें प्रस्तुत करता है। विचार यह है कि एक सिफारिश किसी भी प्रकार की हो सकती है, यानी कोई अभिनेता की सिफारिश करता है, या कोई फिल्म की सिफारिश करता है। असल में, तालिका कुछ इस तरह दिखना चाहिए:
अनुशंसाएँ [Recommendation_Id, object_id, object_type, ..]
और यहाँ क्या मैं में अटक कर रहा हूँ। मैं इन संबंधों को फ्लुएंट के साथ nHibernate में कैसे मैप कर सकता हूं? मेरा मतलब है .. मैपिंग करते समय, मैं रनटाइम पर निर्धारित प्रकार (जो तालिका से संबंधित) 'कारण निर्दिष्ट नहीं कर सकता, लेकिन मैं केवल आईडी के कारण पर भरोसा नहीं कर सकता हूं, यह इस बात का संकेत नहीं दे सकता कि कौन सी तालिका संबंधित है ।
उदाहरण के लिए, अनुशंसाएँ मेज पर इस रिकॉर्ड की कल्पना:
Recommendation_Id - object_id - object_type
83001--401--- "एम"
मूल रूप से मैं एक चार पहचानकर्ता (भंडारण कर रहा हूँ इस मामले में " एम "टेबल के लिए खड़ा है" मूवीज़ ") यह जानने के लिए कि कौन सी तालिका ऑब्जेक्ट_आईडी संबंधित है। मैं ऑब्जेक्ट_आईडी के बिना ऑब्जेक्ट_आईडी को स्टोर नहीं कर सकता ..
मानचित्रण
अंतिम टिप्पणियों के रूप में, मैं यह जोड़ना चाहता हूं कि मैंने सभी टेबल-प्रति-वर्ग, टेबल-प्रति-सबक्लास, टेबल-प्रति-कंक्रीट-क्लास देखा है उदाहरण, लेकिन मुझे विश्वास है कि इनमें से कोई भी इस स्थिति में फिट नहीं है, जैसे Movies_Id, Actors_Id, Directors_Id, ... उनके बीच सभी अलग हैं, इसलिए सिफारिशें_आईडी है। मेरा मतलब है, यहां कोई बेस क्लास-चाइल्ड क्लास विरासत नहीं है, वे आईडी को बिल्कुल साझा नहीं करते हैं ..
मुझे उम्मीद है कि मैं खुद को स्पष्ट कर दूंगा। अग्रिम धन्यवाद।
ऐसा लगता है धाराप्रवाह NHibernate वर्तमान में कई करने के लिए किसी भी जो मैंने सोचा था कि यह क्या करना होगा का समर्थन नहीं करता है। जब तक कि मैं गलत नहीं हूं, जब आप मूवी अपडेट करते हैं तो अनुशंसा को सहेजना निर्बाध रूप से नहीं होगा।डैनियल का जवाब किसी और चीज के करीब था जो मुझे मिल सकता था; ओ) – JasonCoder
यदि आप 'किसी भी' रिश्ते के दूसरे पक्ष को मैप करना चाहते हैं, जैसा कि 'मूवी। सिफारिश' में है, मुझे विश्वास है कि आप इसे 'एक' के साथ कर सकते हैं संग्रह से कई 'और' जहां = "ऑब्जेक्ट_Type = 'M'" विशेषता है, जिसे आप फ्लुएंट एनएचबेर्नेट के साथ कर सकते हैं। –