2010-01-06 15 views
8

मैं इस एनएचबीर्नेट मुद्दे के साथ घंटों तक संघर्ष कर रहा हूं। मैंने व्यापक रूप से वेब पर और साथ ही एनएचबीर्नेट दस्तावेज पर शोध किया, और मैं इस मुद्दे का कोई अर्थ नहीं उठा सकता। मैं NHibernate के लिए अपेक्षाकृत नया हूँ, और इसे प्यार करता हूँ। उस मामले में, हालांकि, यह मुझे पागल कर रहा है।सी #/एनएचबीर्नेट: एसोसिएशन संदर्भ अप्रबंधित वर्ग

मैं एक वेबसाइट के लिए एक छोटा "पोल" मॉड्यूल लिख रहा हूं। मेरे पास कई वर्ग हैं (पोल, पोलवोट और पोलएन्सर)। मुख्य, पोल, इस मुद्दे को जन्म देता है। यह यह है कि क्या वर्ग लगता है:

public class Poll 
    { 
     public virtual int Id { get; set; } 
     public virtual Site Site { get; set; } 
     public virtual string Question { get; set; } 
     public virtual bool Locked { get; set; } 
     public virtual bool Enabled { get; set; } 
     public virtual ICollection<PollAnswer> AnswersSet { get; set; } 
     public virtual ICollection<PollVote> VotesSet { get; set; } 
    } 

और इस तरह क्या मानचित्रण लग रहा है:

Association references unmapped class: Folke.Code.Domain.PollAnswer Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: NHibernate.MappingException: Association references unmapped class: Folke.Code.Domain.PollAnswer

मैं वास्तव में इस बात को समझ करना चाहते हैं:

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
        assembly="Folke" 
        namespace="Folke.Code.Domain"> 
    <class name="Poll"> 
    <id name="Id"> 
     <generator class="native"></generator> 
    </id> 
    <property name="Site"/> 
    <property name="Question"/> 
    <property name="Locked"/> 
    <property name="Enabled"/> 
    <set name="AnswersSet" lazy="true"> 
     <key column="PollId"/> 
     <one-to-many class="PollAnswer"/> 
    </set> 
    <set name="VotesSet" lazy="true"> 
     <key column="PollId"/> 
     <one-to-many class="PollVote"/> 
    </set> 
    </class> 
</hibernate-mapping> 

यह मैं एक त्रुटि देता है , और NHibernate के आंतरिक काम को बेहतर समझते हैं। मुझे समझ में नहीं आता कि यह पोलएन्सर "कक्षा" को कैसे देख सकता है।

उत्तर

8

आप पोल और पोलएन्सर के बीच कई रिश्तों को परिभाषित कर रहे हैं। इसलिए, आपको अपनी एचबीएम.एक्सएमएल फ़ाइल में पोलएन्सर के लिए एक अनुभाग की आवश्यकता होगी । आप PollVote के लिए एक साथ ही की आवश्यकता होगी।

+13

इसके अतिरिक्त एंबेडेड संसाधन के लिए सेट निर्माण, कार्रवाई बिल्ड सुनिश्चित एम्बेडेड संसाधन पर सेट है – bitsprint

12

आप .hbm.xml फ़ाइल जाने की जरूरत है> गुण> कार्रवाई hbm.xml फ़ाइल गुण में

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