2010-01-15 13 views
25

एक (बहुत) लंबे समय के लिए मैं एक-से-एक फ़्लुएंट एनएचबेर्नेट के साथ मैपिंग को सही ढंग से कार्यान्वित करने के तरीके पर एक उदाहरण ढूंढ रहा हूं।फ्लुएंट एनएचबर्ननेट और एक से एक

अधिकांश संसाधन मुझे लगता है कहते हैं:

मुझे लगता है कि आप का मतलब एक कई-से-एक

हालांकि कोई भी वास्तव में कैसे सही ढंग से एक-से-एक को लागू करने पर एक उदाहरण देता है रिश्ता।

तो, क्या आप फ्लुएंट एनएचबेर्नेट के साथ एक-से-एक मैपिंग उदाहरण दे सकते हैं?

नोट: मुझे लोगों में दिलचस्पी नहीं है कि "आपका मॉडल क्या है, आपको वास्तव में हैसनी" की आवश्यकता हो सकती है। नहीं, धन्यवाद, मुझे बस एक-से-एक उदाहरण की आवश्यकता है।

अधिक सटीक होने के लिए, मुझे सिंटैक्स पता है। यही एकमात्र चीज है जिसे मैं खुद से खोजकर पा सकता हूं। जो मैं खोज रहा हूं वह एक पूर्ण उदाहरण है, जिसमें एक ((बहुत) सरल) डेटाबेस सेटअप, और सम्बन्ध में भाग लेने वाली सभी इकाइयों का पूरा मैपिंग शामिल है, जो मुझे लगता है कि स्टैक ओवरफ़्लो के लिए उचित आकार होगा।

उत्तर

19

मैंने अपनी समस्या हल कर ली है।

मैं भी इस समस्या पर कुछ हद तक एक विस्तृत लेख लिखा है, आप पा सकते हैं कि कम से: http://brunoreis.com/tech/fluent-nhibernate-hasone-how-implement-one-to-one-relationship/index.html

आप एक परिदृश्य मिलेगा जिसमें हम एक एक-से-एक संबंध है, हम के रूप में डेटाबेस स्कीमा चाहते यह पसंद करेंगे, मॉडल के कोड को एनएचबीरनेट आवश्यकताओं को पूरा करने की आवश्यकता है, और स्थिति के अनुरूप फ्लुएंट मैपिंग।

+0

लिंक @ 2015/01/19 –

+0

फिक्स्ड के रूप में पहुंच अस्वीकृत त्रुटि फेंकता है। मैंने दो दिनों पहले लिंक को तोड़ दिया जब मैंने कुछ सेटिंग्स बदल दीं। रिपोर्टिंग के लिए धन्यवाद! –

+4

कृपया उत्तर में प्रासंगिक सामग्री पोस्ट करें। लिंक केवल जवाब निराश हैं। – BartoszKP

0

HasOne(x => x.Prop)

+0

यह एक उदाहरण नहीं है, यह सिर्फ वाक्यविन्यास है। मैं डीबी सेटअप को समझाते हुए, कुछ और प्रासंगिक उदाहरण ढूंढ रहा हूं। –

+0

आपने कहा था कि आप एक हैसमनी नहीं चाहते थे, जो मुझे बताती है कि आप वास्तव में जानते हैं कि एक-दूसरे को किसी और चीज़ पर इसे चुनने में सक्षम होना चाहिए। –

+0

हां, मुझे पता है कि एक-से-एक क्या है, लेकिन मैं हमेशा आईडी, स्वत: जेनरेटेड आईडी के मैपिंग के साथ समस्याओं में भाग लेता हूं। –

2

This is the best example मैंने देखा है। उम्मीद है कि यह आपकी जरूरतों को पूरा करता है।

+0

कृपया पोस्ट में सबसे महत्वपूर्ण जानकारी डालें। लिंक केवल जवाब निराश हैं। – BartoszKP

3
these are the two classes. 

public class A 
{ 
    public virtual int Id {get;set;} 
    public virtual string P1 {get;set;} 
    public virtual string P2 {get;set;} 
    public virtual string P3 {get;set;} 
    public virtual B child { get; set; } 
} 

public class B 
{ 
    public virtual int Id {get;set;} 
    public virtual string P4 {get;set;} 
    public virtual string P5 {get;set;} 
    public virtual string P6 {get;set;} 
    public virtual A parent; 
}  

यह धाराप्रवाह विन्यास में जोड़ा जाना चाहिए।

public AMap() 
    { 
     /* mapping for id and properties here */ 
     HasOne(x => x.child) 
      .Cascade.All(); 
    } 

    public BMap() 
    { 
     /* mapping for id and properties here */ 
     References(x => x.parent) 
      .Unique(); 
    } 
संबंधित मुद्दे