जब एक इकाई की जरूरत हो तो आप मामले को कैसे संभालते हैंबनाने के लिए, अपने तरीकों में से, अन्य संस्थाओं? मेरी समस्या यह है कि चूंकि प्रत्येक अलग-अलग संस्था के पास "ObjectContext ऑब्जेक्ट" नहीं है, इसलिए AddToBlahs () विधियों के साथ, यह ऐसा नहीं कर सकता है।
उदाहरण के लिए, एक साइट मॉडल है जिसमें एक हैUpdateLinks () विधि जो उस साइट से संबंधित लिंक ऑब्जेक्ट बनाने वाली है। UpdateLinks () विधि doesn "t में एक ObjectContext है। आप क्या करते हैं? क्या आप इसे इस तरह से पास करते हैं:
public void UpdateLinks(ProjectEntities db) {
foreach (var link in FetchLinks()) {
db.AddToLinks(link);
}
}
या आप किसी अन्य पैटर्न का उपयोग करते हैं?
उत्तर:
जवाब के लिए 2 № 1आपको इसके लिए संदर्भ की आवश्यकता नहीं है।
जबसे Site.UpdateLinks
बना रहा है Link
वस्तुओं उदाहरण से संबंधित, उदाहरण में नए के साथ जुड़ाव होगा Site
। जोड़ना Link
सेवा मेरे Site.Links
खुद ब खुद नया बनाता है Link
उसी संदर्भ का हिस्सा (यदि कोई हो) Site
। इसी तरह, जब आप बचाते हैं Site
the Link
इसके साथ सहेजा जाएगा.
उत्तर № 2 के लिए 1
नहीं क्रेग Stuntz द्वारा जवाब के बारे में यकीन है कि ... लिंक को प्रसंग से अनुलग्न किया जाना चाहिए, लेकिन Site.Links में लिंक जोड़ने से इसे स्वचालित रूप से अनुलग्न नहीं किया जा सकता.आप db करने की जरूरत है. AddToLinks (लिंक) वैसे भी.
लेकिन अपने सवाल का जवाब, ObectContext प्रबंधन के लिए सबसे अच्छा पैटर्न में से एक शायद UnitOfWork पैटर्न है.इसका उपयोग करके, आप निकायों को "वर्तमान में उनके द्वारा संबंधित क्षेत्र के बारे में स्वयं-जागरूकता" बना सकते हैं.यह देखें लेख एक विस्तृत विवरण और कार्यान्वयन के नमूने के लिए. आप अभी भी (एक सरल कार्यान्वयन के रूप में) उदाहरण के रूप में आप में क्या एक पैरामीटर के रूप में विधि के लिए ऑब्जेक्टकॉन्टेक्स्ट पास कर सकते हैं।