मेरे पास कुछ वेब विधियां हैं जो मेरी ऑब्जेक्ट को क्रमबद्ध XML के रूप में वापस लौटाती हैं। यह केवल वस्तु के NHibernate- मैप किए गए गुणों को क्रमबद्ध कर रहा है ... किसी के पास कुछ अंतर्दृष्टि है? ऐसा लगता है कि वेब विधियां वास्तव में मेरी कक्षाओं के बजाय एनएचबेर्नेट प्रॉक्सी को क्रमबद्ध कर रही हैं। मैंने [XMLInclude] और [XMLElement] का उपयोग करने का प्रयास किया है, लेकिन गुण अभी भी क्रमबद्ध नहीं हैं। मेरे पास इस के आसपास होने का एक बहुत ही भयानक हैकिश तरीका है, लेकिन मुझे आश्चर्य हुआ कि क्या कोई बेहतर तरीका था!मैं एनएचबीर्नेट-मैप किए गए ऑब्जेक्ट के सभी गुणों को क्रमबद्ध कैसे करूं?
कुछ इस तरह:
<?xml version="1.0" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="StoryManager" assembly="StoryManager">
<class name="Graphic" table="graphics" lazy="false">
<id name="Id" column="id" type="int" unsaved-value="0" >
<generator class="identity"/>
</id>
<property name="Assigned" />
<property name="Due" />
<property name="Completed" />
<property name="UglyHack" insert="false" update="false" />
<many-to-one name="Parent" class="Story" column="story_id"/>
</class>
</hibernate-mapping>
public class Graphic
{
private int m_id;
public virtual int Id
{
get { return m_id; }
set { m_id = value; }
}
private DateTime? m_assigned;
public virtual DateTime? Assigned
{
get { return m_assigned; }
set { m_assigned = value; }
}
private DateTime? m_due;
public virtual DateTime? Due
{
get { return m_due; }
set { m_due = value; }
}
private DateTime? m_completed;
public virtual DateTime? Completed
{
get { return m_completed; }
set { m_completed = value; }
}
public bool UglyHack
{
get { return m_due < m_completed; } // return something besides a real mapped variable
set {} // trick NHibernate into thinking it's doing something
}
}
यह स्पष्ट रूप से कोई रास्ता नहीं कोड लिखने के लिए है। अगर मेरे पास "नकली" मैपिंग नहीं है (UglyHack संपत्ति), तो उस संपत्ति को क्रमबद्ध नहीं किया जाएगा। अभी के लिए मैं (डेटा) ट्रांसफर ऑब्जेक्ट्स का उपयोग कर रहा हूं, और प्रतिबिंब का उपयोग कर कुछ पर हो सकता है ...
एक छोटा सा उदाहरण पोस्ट करें। –