2009-11-19 18 views
44

वीएस 2010 बीटा 2, एएसपी.नेट एमवीसी का उपयोग करना।इकाई फ्रेमवर्क वन-टू-वन मैपिंग मुद्दे

मैंने एक इकाई फ्रेमवर्क फ़ाइल बनाने की कोशिश की और मेरे डेटाबेस से डेटा प्राप्त किया।

वहाँ रिश्तों के साथ कुछ मुद्दों थे, इसलिए मैं चारों ओर बातें tweak करने के लिए शुरू कर दिया है, लेकिन मैं साधारण एक-से-एक रिश्ते के लिए निम्न त्रुटि हो रही

त्रुटि 1 त्रुटि 113 रखा: बहुलता मान्य नहीं है रिलेशनशिप 'FK_UserProfiles_Users' में भूमिका 'UserProfile' में। क्योंकि निर्भर भूमिका गुण प्रमुख गुण नहीं हैं, निर्भर भूमिका की बहुतायत की ऊपरी सीमा * होनी चाहिए। myEntities.edmx 2024

मेरे उपयोगकर्ता तालिका है अन्य तालिकाओं के लिए कुछ अन्य कई-से-अनेक रिश्तों के होते हैं, लेकिन जब मैं अन्य तालिकाओं के साथ एक-से-एक संबंध बनाने की कोशिश, उस त्रुटि दिखाई नहीं देता।

उपयोगकर्ता तालिका

  • UserID
  • प्रयोक्ता नाम
  • ईमेल

आदि ..

USERPROFILES टेबल

  • UserProfileID
  • UserID (के लिए उपयोगकर्ता तालिका FK)
  • स्थान
  • जन्मदिन

उत्तर

65

एक-से-एक रिश्ते के लिए, एफई को उम्मीद है कि टेबल में एक ही प्राथमिक कुंजी का उपयोग कर रहे हैं। और वास्तव में, यदि यह एक सच है तो वे शायद होना चाहिए। तो आपके उदाहरण में, यदि आप UserProfiles तालिका पर UserID को प्राथमिक कुंजी बनाते हैं, तो आपका एक-एक काम करेगा।

+12

मुझे यह समस्या मुख्य तालिका और एक विस्तार तालिका के बीच 0..1 से 1 संबंध स्थापित करने का प्रयास कर रही है। कई अन्य संबंधों के रूप में एक्सटेंशनटेबल इसलिए मैं उस पीके के साथ गड़बड़ नहीं करना चाहता हूं। इस तरह की स्थिति को हल करने के लिए कोई विचार? – Andreas

+1

@junior: यह एक विदेशी कुंजी रिश्ते है और आप रिश्तों को चुनकर, गुणों में जाकर और "एंड 1 मल्टीप्लिटी" और "एंड 2 मल्टीप्लिसीटी" सेटिंग बदलकर वहां जा सकते हैं (सुनिश्चित नहीं है कि यह केवल वीएस 2010-केवल है)। सबसे अधिक संभावना है, आप "एंड 2 मल्टीप्लिटी" को "0..1" पर सेट करेंगे। –

+0

कोई * "चाहिए" * नहीं है, भले ही ईएफ सामान्य आरए गुणों को सही तरीके से संभाल नहीं सके और इस प्रकार एक पूरी तरह से अच्छा आरए डिजाइन बदलने के लिए मजबूर करता है। यह * इंगित नहीं करता है कि मॉडल को बदला जाना चाहिए, वर्तमान मामला एक तरफ - इसका मतलब है कि ईएफ, और यह आज भी टूटा हुआ लगता है, आरए डेटाबेस डोमेन को सही ढंग से मॉडल करने के लिए * निश्चित * होना चाहिए। – user2864740

10

मेरे पास एक समान समस्या है, लेकिन बिक्री और लेबी परिदृश्य के साथ।

एक लेबी बिक्री के बिना मौजूद हो सकती है, और बिक्री बिना किसी लेबी के मौजूद हो सकती है। इसका मतलब है कि मेरे पास 0 या 1 से 0 या 1 संबंध है।

लेबी संदर्भ बिक्री, लेकिन लेबी बिक्री की प्राथमिक कुंजी का उपयोग नहीं कर सकती है, और बिक्री लेबी की प्राथमिक कुंजी का उपयोग नहीं कर सकती है।

मैं एक 0 या 1के लिए कई संबंध का उपयोग करके समस्या का समाधान 'Laybys' गेटर और निजी के रूप में बिक्री पर सेटर कॉन्फ़िगर किया गया, और फिर मेरा POCO में मेरे अपने 'Layby' गेटर और सेटर प्रदान की ।

+3

मैं उत्सुक हूं, क्या आपने कभी इस तरह के रिश्ते को पकड़ने के लिए एक बेहतर तरीका खोजा है? – Hannele

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