2010-12-14 21 views
6

का उपयोग करके एकाधिक तालिकाओं में सम्मिलित करना मैं ईएफ के लिए एक सापेक्ष नया हूं और ईएफ 4 का उपयोग करके एक साधारण मॉडल (नीचे देखें) बनाया है। alt textइकाई फ्रेमवर्क - विदेशी कुंजी

मुझे UserRecord इकाई में एक नया रिकॉर्ड डालने में समस्या आ रही है और बाद में उपयोगकर्ता डेलिमेंट इकाई जो नई बनाई गई UserRecordId को इसकी प्राथमिक कुंजी के रूप में उपयोग करती है। नीचे दिखाया गया कोड काम करने के लिए प्रयुक्त होता था जब मेरे डेटाबेस में एक से अधिक रिश्ते थे लेकिन जब मैं इसे एक-से-एक रिश्ते में बदलता हूं तो मुझे नीचे दी गई छवि में त्रुटि दिखाई देती है। alt text

मुझे विश्वास है कि यह काम नहीं कर रहा है क्योंकि अब उपयोगकर्ता रिकॉर्ड्स से जुड़े उपयोगकर्ता की कोई जानकारी नहीं है क्योंकि यह अब एक-से-एक संबंध है। मेरा सवाल यह है कि अब मैं एक-एक-एक रिश्ते के साथ नए उपयोगकर्ता रिकॉर्ड और संबंधित उपयोगकर्ता सूची इकाइयों को कैसे सम्मिलित करूं?

इस पर कोई भी सहायता वेब की खोज करने और सफलता के बिना विभिन्न प्रकार की विभिन्न चीजों की कोशिश करने के रूप में बहुत सराहना की जाती है।

चीयर्स

Cragly

उत्तर

15

आपका UserDetail वस्तु एक संपत्ति है कि UserRecord वस्तु के लिए वापस लिंक होना चाहिए। (इसे शायद User कहा जा सकता है? अगर मैं नीचे नेविगेशन अनुभाग को सही तरीके से पढ़ रहा हूं।) यदि आप उस प्रॉपर्टी को अपने नए, असामान्य UserRecord ऑब्जेक्ट पर सेट करते हैं, तो यह स्वचालित रूप से कुंजी को भर देगा जब यह दोनों ऑब्जेक्ट्स करता है।

UserRecord userRecord = new UserRecord(); 
// whatever 

UserDetail userDetail = new UserDetail(); 
userDetail.User = userRecord; // This will auto-fill the FK during commit. 
// whatever 

// Add both userRecord and userDetail to the context and commit. 
+1

शानदार !! धन्यवाद बहुत शानदार काम करता है। ऐसा लगता है कि मैं इसे गलत तरीके से करने की कोशिश कर रहा था और उपयोगकर्ता मार्ग को उपयोगकर्ता मार्ग को दूसरे तरीके से जोड़ने की कोशिश कर रहा था। आपने मुझे कुछ और बालों के झड़ने को बचाया जो मैं तब तक बचा सकता हूं जब तक कि मैं अपनी अगली ईंट ईएफ दीवार नहीं मारता! – Cragly

+0

हाँ। मैंने दो चरणों के प्रयास में एक प्रयास सहित, मेरे सिस्टम में कई अन्य तरीकों की कोशिश की। यह एकमात्र चीज है जो मेरे लिए काम करती है, और यह असाधारण रूप से सुरुचिपूर्ण और बूट करने के लिए सहज है। – jdmichal

संबंधित मुद्दे