मान लीजिए कि मेरे पास तीन वर्ग हैं। यह ए को तुरंत चालू करने के लिए मान्य है, लेकिन विशेष मामलों बी और डी भी हैं जो उप-वर्ग ए को जोड़ते हैं, अतिरिक्त जानकारी जोड़ते हैं।फ्लुएंट एनएचबेर्नेट - एक सबक्लास को एक-से-एक मानचित्र कैसे मैप करें?
मैं इसके लिए (धाराप्रवाह) NHibernate में मैपिंग फ़ाइलों को कैसे करूं?
public class A
{
public int ID { get; set;}
public string CommonProperty1 { get; set; }
public string CommonProperty2 { get; set; }
}
public class B : A
{
public string BSpecificProperty1 { get; set; } //not null
public string BSpecificProperty2 { get; set; } //not null
}
public class D : A
{
public string DSpecificProperty { get; set; } //not null
}
मैं निम्नलिखित की कोशिश की है, लेकिन यह सब पर काम नहीं करता:
public class AMap : ClassMap<A>
{
public AMap()
{
Id(x => x.ID);
Map(x => x.CommonProperty1);
Map(x => x.CommonProperty2);
}
}
public class BMap : ClassMap<B>
{
public BMap()
{
References(x => x.ID);
Map(x => x.BSpecificProperty1)
.CanNotBeNull();
Map(x => x.BSpecificProperty2)
.CanNotBeNull();
}
}
public class DMap : ClassMap<D>
{
public DMap()
{
References(x => x.ID);
Map(x => x.DSpecificProperty)
.CanNotBeNull();
}
}
एरिक, बढ़िया पोस्ट। – Berryl