2009-02-13 18 views
7

इम धाराप्रवाह NHibernate में AutoPersistenceModel का उपयोग कर अपने सभी संस्थाओं को मैप करने के लिए और सभी ठीक काम करता है कि कई: डीधाराप्रवाह NHibernate प्रकार के लिए कई सम्मेलन

लेकिन, मेरा वस्तुओं के कई

public virtual IList<Comment> Comments { get; set; } 

में है डेटाबेस में एक ही टिप्पणी तालिका है, और उपरोक्त कोड वाली प्रत्येक इकाई के पास टिप्पणियों के लिए अपनी स्वयं की लिंक तालिका है।

पल क्या im पर है:

public class ContractMappingOverride : IAutoMappingOverride<Contract> 
{ 
    public void Override(AutoMap<Contract> mapping) 
    { 
     mapping.HasManyToMany(x => x.Comments) 
      .WithTableName("Comment_Contract"); 
हर इकाई के लिए

वहाँ किसी तरह मैं एक सम्मेलन जहां के लिए IList < टिप्पणी > सभी मैपिंग द्वारा स्वचालित रूप से उपरोक्त तालिका नाम सम्मेलन के साथ manytomany के रूप में तार कर रहे हैं निर्धारित कर सकते हैं है?

धन्यवाद

एंड्रयू

उत्तर

5

मैं जानता हूँ कि यह क्या आप सुनना चाहते नहीं है, लेकिन जवाब नहीं है।

धाराप्रवाह NHibernate की वर्तमान डिजाइन में, वहाँ संग्रह करने के लिए सम्मेलनों को लागू करने के प्रकार वे में इस्तेमाल किया जा रहा हो ज्ञान, जबकि एक तरीका नहीं है, तो आप सिर्फ अपने निहित प्रकार के आधार पर नहीं सभी संग्रह के लिए कुछ आवेदन कर सकते हैं । यह हमारे डिजाइन में एक दोष है और मेरा लक्ष्य यह है कि यह सही है, लेकिन यह काफी बड़ा बदलाव है, इसलिए यह रातोंरात नहीं हो रहा है।

मैं आपको हमारे mailing list के साथ चेक-इन करने की सलाह देता हूं, हम आमतौर पर वहां अपडेट पोस्ट करते हैं।

क्षमा करें मैं और अधिक सहायक नहीं हो सकता।

+1

पर्याप्त उचित, जानकारी के लिए धन्यवाद। मैं स्रोत की जांच करूंगा और देख सकता हूं कि क्या मैं एक पैच एक साथ रख सकता हूं 'क्योंकि मैं वास्तव में इस कार्यक्षमता को पसंद करूंगा। –

+0

मैंने इस सवाल का जवाब जोड़ा जेम्स, अगर आप मेरी धारणाएं सही हों या यदि मैं आधार से बाहर हूं तो यह एक टिप्पणी जोड़ सकता है। –

+1

मुझे लगता है कि ओवरराइड <> के गैर-सामान्य संस्करण होने के लिए बहुत उपयोगी क्या होगा। इस तरह गुणों के माध्यम से स्पिन करने के प्रतिबिंब का उपयोग करके कुछ सम्मेलन-आधारित ओवरराइड करना अपेक्षाकृत आसान होगा। –

0

यह थोड़ी देर के बाद से मैंने फ्लुएंट एनएचबर्ननेट के साथ काम किया है और वर्तमान में मैं इसके स्विंग में वापस आ रहा हूं (वाह 09 की शुरुआत से बहुत सारे बदलाव हुए हैं!) और मुझे लगता है कि अब आपके प्रश्न का उत्तर है हाँ आप इसे OverideAll कार्यक्षमता के साथ कर सकते हैं।

एफएनएच विकी पर Overrides पर एक नज़र डालें।

+0

दुर्भाग्य से मुझे लगता है कि ओवरराइडअल केवल (वर्तमान में) किसी भी इकाई पर गुणों को अनदेखा करने के लिए उपयोग किया जा सकता है, न कि एंड्रयू क्या ढूंढ रहा है। –

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