मेरे पास Fluent NHibernate: How to create one-to-many bidirectional mapping? पर एक समान प्रश्न था, लेकिन मुझे स्थिति में दिलचस्पी थी जब मेरे पास एक-से-एक मैपिंग है। उदाहरणफ्लुएंट एनएचबेर्नेट: एक-से-एक बिडरेक्शनल मैपिंग कैसे बनाएं?
Umbrealla
ID
Owner
UmbreallaOwner
ID
Umbrella
हम जानते हैं कि प्रत्येक छाता केवल एक ही व्यक्ति के स्वामित्व में किया जा सकता है और कोई भी एक से अधिक छाता मालिक के रूप में लिए। एक धाराप्रवाह मानचित्र में मैं जैसे
UmbrellaMap()
{
Id(x=>x.ID);
References<UmbrellaOwner>(x=>x.Owner);
}
UmbrellaOwnerMap()
{
Id(x=>x.ID);
References<Umbrella>(x=>x.Umbrella);
}
कुछ जब टेबल धाराप्रवाह umbrellaOwner की आईडी और umbrellaOwner संदर्भित छाता में एक क्षेत्र referncing छाता में एक क्षेत्र पैदा करेगा बनाने के लिए होगा। क्या मैपिंग को बदलने का कोई तरीका है कि केवल एक विदेशी कुंजी बनाई जाएगी लेकिन छाता की संपत्ति और मालिक की संपत्ति दोनों मौजूद होगी? उदाहरण मैंने देखा है दोनों दिशाओं में संबंधों की स्थापना इसलिए
तरहAddUmbrealla(UmbrellaOwner owner)
{
var brolly = new Umbrella();
brolly.Owner = owner;
owner.Umbrella = brolly;
session.Save(owner); //assume cascade
}
जो तार्किक लगता है लेकिन थोड़ा बोझिल एक नया छाता लग रहा है जोड़ने शामिल है।