आप इसे सीधे मानचित्र नहीं कर सकते।
- हमेशा संग्रह के लिए इंटरफेस (। जैसे
IList<T>
, IDictionary<K,V>
) का उपयोग
- राष्ट्रीय राजमार्ग नेस्टेड संग्रह का समर्थन नहीं करता: वहाँ पर विचार करने के लिए दो नियम हैं। मैंने से पहले इसके लिए कोई एप्लिकेशन कभी नहीं देखा है और किसी ने इसे कभी भी अनुरोध नहीं किया है।
एक वर्ग और उपयोग इंटरफेस में स्ट्रिंग की अपनी सूची रखो:
class StringList
{
IList<string> Strings { get; private set; }
}
class Entity
{
private IDictionary<string, StringList> stringDict;
}
तुम भी इस तरह के एक वर्ग होने के कुछ फायदे देख सकते हैं।
मैपिंग:
<class name="Entity">
...
<map name="stringDict" table="Entity_StringDict" access="field">
<key column="Entity_FK"/>
<index column="Key" type="System.String"/>
<composite-element class="StringList">
<bag name="Strings" table="Entity_StringDict_Strings">
<key column="Entity_StringDict_FK"/>
<element type="System.String" column="String"/>
</bag>
</composite-element>
</map>
</class>
नक्शे से तीन टेबल्स:
- टेबल
Entity
- टेबल
Entity_StringDict
- टेबल
Entity_StringDict_Strings
- कॉलम
Entity_StringDict_FK
- कॉलम
String
स्रोत
2009-08-20 20:14:47
बढ़िया, मैं इसे एक कोशिश दे देंगे! – ulu
हम्म मुझे एक त्रुटि मिल रही है: एक्सएमएल सत्यापन त्रुटि: नेमस्पेस 'urn: nhibernate-mapping-2.2' में तत्व 'composite-element' नामस्थान 'urn: nhibernate-mapping-2.2' में अमान्य बाल तत्व 'बैग' है । अपेक्षित संभावित तत्वों की सूची: नामस्थान 'urn: nhibernate-mapping-2.2' में 'माता-पिता, संपत्ति, कई से एक, नेस्टेड-कंपोजिट-एलिमेंट'। निबर्ननेट 2.0.1 का उपयोग करना .. – ulu
इसके अलावा, दस्तावेज़ कहते हैं, "समग्र तत्वों में घटक हो सकते हैं लेकिन संग्रह नहीं हो सकते हैं"। – ulu