c# - NHibernate - Collection Eager loading - only ids -
मान लें कि मेरे पास एक वर्ग है
सार्वजनिक वर्ग व्यक्ति {सार्वजनिक व्यक्ति () {मित्र = नया संग्रह & lt; व्यक्ति & gt; (); } सार्वजनिक वर्चुअल Guid Id {get; सेट; } सार्वजनिक वर्चुअल स्ट्रिंग Name {get; सेट; } सार्वजनिक आभासी आइकलेंक & लेफ्टिनेंट; व्यक्ति & gt; दोस्तों {प्राप्त; सेट; }}
निम्न मैपिंग के साथ:
& lt; class name = "person" & gt; & Lt; id का नाम = "आईडी" जनरेटर = "गुड" / & gt; & Lt; संपत्ति नाम = "नाम" / & gt; & Lt; सेट नाम = "मित्र" & gt; & Lt; प्रमुख स्तंभ = "PersonId" विदेशी-कुंजी = "कोई नहीं" / & gt; & Lt; कई-से-कई वर्ग = "व्यक्ति" विदेशी-कुंजी = "कोई नहीं" / & gt; & Lt; / सेट & gt; & Lt; / वर्ग & gt;
मैं दोस्तों के संग्रह आईडी को सभी व्यक्तियों और उत्सुक लोड करने की कोशिश कर रहा हूं।
मुझे केवल पूरे दोस्तों के संग्रह को लोड करने की ज़रूरत नहीं है, केवल मित्रों की एड्स।
निम्न:
var व्यक्ति = सत्र.कॉलिकओवर & lt; पर्सन & gt; ()। फीच (पी = & gt; पी। फ्रेंड्स) .अगर। सूची & व्यक्ति; व्यक्ति & gt ; ();
इस एसक्यूएल स्टेटमेंट को उत्पन्न करता है:
SELECT this_.Id आईडी0_1_ के रूप में, यह_नाम नाम के रूप में 0_1_, दोस्तों 2_.पीसरआई PersonId3_ के रूप में, व्यक्ति 3_.आईटी elt3_ के रूप में , व्यक्ति 3_.आईडी के रूप में Id0_0_, व्यक्ति 3_.नाम नाम के रूप में नाम 0_0_ व्यक्ति से यह बायां बाहरी जुड़ें दोस्तों के दोस्तों 2_ इस पर_.आईडी = दोस्तों 2_.पासरिआर्ड बाहरी व्यक्ति से जुड़ गए हैं व्यक्ति 3_ मित्रों पर 2_.elt = person3_.Id
< पी> जो स्पष्ट रूप से सभी दोस्तों की संस्थाओं को भी आकर्षित करती है। मैंने कई संयोजनों की कोशिश की है, लेकिन कोई लाभ नहीं।
* मुझे पता है कि चूंकि यह वही कक्षा है, पृष्ठों को वैसे भी लोड किया जाता है। मेरा प्रश्न सामान्य है- संग्रहण की केवल आईडी लोड हो रहा है।
Comments
Post a Comment