मैं EntityFramework 4.3 कोड फर्स्ट में एफके रिलेशनशिप के साथ एक इकाई को अपडेट करने का प्रयास कर रहा हूं। मैं फोन करके संबंधित entites को संलग्न करने के लिए प्रयास करें: प्रवेश (आइटम) .State = EntityState.UnchangedEntityFramework Code पहले - जांच करें कि इकाई संलग्न है
मैं निम्नलिखित अपवाद: एक ही कुंजी के साथ एक वस्तु को पहले से ही ObjectStateManager में मौजूद है। ऑब्जेक्टस्टेट प्रबंधक एक ही कुंजी के साथ एकाधिक ऑब्जेक्ट्स को ट्रैक नहीं कर सकता है।
मैं इन वस्तुओं को अद्यतन नहीं करता और न ही उनके मुख्य इकाई पर उनके लिए एक आईडी संपत्ति है। क्या यह जानना संभव है कि कौन सी संस्थाएं संलग्न हैं या नहीं?
अग्रिम धन्यवाद, राडू
आप सभी संस्थाओं है कि संदर्भ से ट्रैक किया जाता है पाने के लिए ObjectContext.ObjectStateManager.GetObjectStateEntries() विधि (http://msdn.microsoft.com/en-us/library/bb738497.aspx) का उपयोग कर सकते हैं। ध्यान दें कि यह संभव है कि डेटाबेस में ऐसी संस्थाएं हैं जिन्हें ऑब्जेक्ट कॉन्टेक्स्ट द्वारा ट्रैक नहीं किया गया है। आपको ऑब्जेक्टस्टेट प्रबंधक को यह जानने की आवश्यकता है कि आपको किन इकाइयों की आवश्यकता है (इस enums में फ्लैग विशेषता है ताकि आप विभिन्न मानों को गठबंधन कर सकें।) – Pawel