c# - Nhibernate Projection Query DTO, use method in stead of property -
यह काम करता है:
projections.Add (Projections.Property (सदस्य & LT; Mailorder & gt ;. से (एक्स = & gt; एक्स। एस्जिनाइएकोड)। क्वालिफाइडपाथ), सदस्य & lt; मेल ऑर्डर आईटम & gt; से (x = & gt; x.AssigneeCode) .पैथ); projections.Add (Projections.Property (सदस्य & LT; Mailorder & gt; .From (एक्स = & gt; x.AssigneeName) .QualifiedPath), सदस्य के & lt; MailOrderItem & gt; .From (एक्स = & gt; x.AssigneeName) .Path); projections.Add (Projections.Property (सदस्य & LT; Mailorder & gt; .From (एक्स = & gt; x.AssigneeType) .QualifiedPath), सदस्य के & lt; MailOrderItem & gt; .From (एक्स = & gt; x.AssigneeType) .Path);
यह नहीं पाठ्यक्रम बंद
projections.Add (Projections.Property (सदस्य & LT; IMailOrderAssignee & gt; .From (एक्स = & gt; x.AssigneeCode)। क्वालिफाइडपाथ), सदस्य & lt; मेल ऑर्डर आईटम & gt; से (x = & gt; x.Code) .Path); projections.Add (Projections.Property (सदस्य & LT; IMailOrderAssignee & gt; .From (एक्स = & gt; x.AssigneeName) .QualifiedPath), सदस्य के & lt; MailOrderItem & gt; .From (एक्स = & gt;। x.GetName ()) पथ); projections.Add (Projections.Property (सदस्य & LT; IMailOrderAssignee & gt; .From (एक्स = & gt; x.AssigneeType) .QualifiedPath), सदस्य के & lt; MailOrderItem & gt; .From (एक्स = & gt;। x.GetType ()) पथ);
यह दो चीजों की वजह से काम नहीं करता है:
- इनटरफ़ेस के लिए कोई दृढ़ निश्चय नहीं है
- विधियों का इस्तेमाल संपत्ति के रास्ते में किया जाता है।
मैंने नभबेरे की दुनिया में बहुत कुछ खोज लिया है, लेकिन मुझे ऐसा लगता है कि यह बहुत मुश्किल है।
आईएमएएलऑर्डर एसिग्नी दो जड़ता के लिए एक इंटरफेस है ( चलो उन्हें रूट x और रूट कहते हैं)। मेरे मेलऑर्डर्स के सन्दर्भ में, यह जरूरी नहीं कि जरूरी है, जब तक मेरे पास इसका संदर्भ है + नाम और उसका कोड और ईमेल पता है
IMailOrderAssignee मैपिंग फ़ाइल में किसी भी टैग के साथ मैप किया गया है। (जो शानदार काम करता है, लेकिन मैं इसे एक भेदभावक के साथ भी कर सकता हूं)।
मेरा प्रश्न:
-
क्या यह किसी पद्धति के परिणाम का उपयोग करना संभव है प्रक्षेपण क्वेरी है, तो परिणाम डीटीओ में है?
-
क्या प्रोजेक्शन क्वेरीज़ में अनुबंध का उपयोग करना संभव है (मुझे नहीं लगता ...)
क्यों स्मृति में प्रक्षेपण नहीं करते?
उदाहरण:
<पूर्व> मान मानदंड = कुछ क्रमितियाटेटरेटर्न्सपरसेंटेंट एंटीटीज; Var आइटम = मानदंड। सूची & lt; IMailOrderAssignee & gt; (); Var प्रक्षेपित = आइटम। चयन करें (i = & gt; नया {Prop1 = i.SomeMethod (), आदि});
Comments
Post a Comment