2009-06-01 19 views
5

यदि मैं उपयोगकर्ता और भूमिकाओं के बीच कई से अधिक रिश्ते हैं और मेरे पास उपयोगकर्ता इकाई का उदाहरण है और कई भूमिका आईडी क्या मैं दो अन्य प्रकार की इकाइयों के बीच कोई अन्य भूमिका निभाए बिना संबंध डाल सकता हूं डेटा और पहले भूमिकाओं पर चयन किए बिना?आप कई से अधिक रिश्ते के लिए एक इकाई कैसे डालते हैं? (इकाई ढांचा)

अद्यतन:

मैं काफी स्पष्ट नहीं हो सकता। मेरे पास एक भूमिका का उदाहरण नहीं है, केवल भूमिका आईडी है। क्या पहले डेटाबेस से रोल ऑब्जेक्ट भरने के बिना उपयोगकर्ता और भूमिका के बीच संबंध बनाना संभव है?

उत्तर

9

हाँ आप आईडी है और आप उन्हें संबंधित करने की आवश्यकता है

आप इस (छद्म कोड) करने के लिए

// how you get this doesn't matter so long as it is in the Context 
User user = ...; 
Role role = new Role {Id = 2}; 
// role 2 is in unchanged state 
ctx.AttachTo("Roles", role); 
// role 2 is unchanged + added relationship between user and role 2 
user.Roles.Add(role); 
ctx.SaveChanges(); 

कुंजी है कि यहाँ AttachTo ObjectState में एक इकाई डालता है सक्षम होना चाहिए अपरिवर्तित राज्य में प्रबंधक। जब तक आपको उस इकाई को संशोधित करने की आवश्यकता नहीं है, और केवल रिश्ते के निर्माण के लिए उपयोग करते हैं, तो आपको सभी संपत्ति मूल्यों को जानने की भी आवश्यकता नहीं है, पीके पर्याप्त है।

एक बार जब आप इसे संलग्न कर लेंगे तो आप रिश्ते का निर्माण कर सकते हैं।

आशा इस

चीयर्स एलेक्स

+0

धन्यवाद, मैं इसे आज़माउंगा और आपको बताऊंगा कि यह कैसा चल रहा है। – adam0101

+0

बढ़िया, यह मेरे लिए काम करता है। धन्यवाद –

2

यदि आप डेटाबेस का उपयोग नहीं कर रहे हैं, तो सुनिश्चित करें। कई लोगों को कई लोगों के संदर्भों की सूची के रूप में मैप किया जाता है। उपयोगकर्ता। भूमिकाएं जोड़ें (भूमिका ...) ठीक होना चाहिए।

+1

मैं एक भूमिका का एक उदाहरण नहीं है में मदद करता है, मैं सिर्फ एक भूमिका आईडी की है। अगर मैं नई भूमिका निभाता हूं और केवल आईडी निर्दिष्ट करता हूं तो क्या यह काम करेगा? क्या यह डेटाबेस में डालने की कोशिश कर रहा है? उम्मीद है कि, cuz यह पहले से मौजूद है। – adam0101

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