मैं एमवीपी और इकाई फ्रेमवर्क दुनिया के लिए बिल्कुल नया हूं इसलिए मेरे साथ भालू।ईएफ ऑब्जेक्ट कॉन्टेक्स्ट, सेवा और रिपोजिटरी - संदर्भ जीवनकाल प्रबंधित करना।
मेरे पास वर्तमान में एक व्यू + प्रेजेंटर संयोजन है, दृश्य में दो ईवेंट संपादित और हटाए गए हैं और प्रस्तुतकर्ता सिर्फ इन घटनाओं के लिए सुनता है। मेरे पास एक सेवा ऑब्जेक्ट और रिपॉजिटरीज भी स्थापित है। सेवा परत कुछ भंडार कार्यान्वयन करना, जिससे एक ObjectContext तो निर्माण के क्रम में (इसके नीचे एक करने के लिए शीर्ष वस्तु में गुजर रहा है ले लेता है:
ObjectContext
|
V
Repositries
|
V
Service Object
|
V
Presenter
अब समस्या यह है कि जब मैं शीर्ष पर वस्तु संदर्भ बनाने के लिए, यह पूरे समय जीवित है कि प्रस्तुतकर्ता जीवित है जिसका अर्थ है कि संपादित करें और हटाएं सेवा से एक ही संदर्भ उदाहरण का उपयोग करें।
तो सर्विसऑब्जेक्ट.डिलेट और सर्विस ऑब्जेक्ट को कॉल करना। उसी संदर्भ का उपयोग करें जो परिवर्तन ट्रैकिंग को प्रबंधित करना मुश्किल बनाता है। जो मैं समझता हूं उससे संदर्भ वास्तव में केवल अल्पकालिक रहना चाहिए और केवल काम की एक इकाई के लिए, मेरे लिए संपादन और हटाएं दोनों अलग-अलग काम हैं।
आप इकाई ढांचे के साथ DI कैसे करते हैं और अभी भी संदर्भ जीवन समय का प्रबंधन करते हैं?
मैंने लोगों को रिपोजिटरी के पक्ष में ऑब्जेक्ट संदर्भ को नया देखा है, क्या यह एक अच्छा पैटर्न है।
ServiceObject{
public void Edit(// some args) {
Using(var context = new MyObjectContext) {
var repo = new MyRepo(context);
var entity = repo.GetForID(12);
// Do some stuff for edit
context.SaveChanges();
}
}
}
लेकिन मुझे अब अपनी भंडार ServiceObject के निर्माता में गुजर रहा हूँ और डि नहीं कर रही :(तो मुझे लगता है कि जैसे कि यह कार्य करें:
या मैं उस सेवा वस्तु में, कुछ की तरह करना चाहिए।
मैं इस स्थिति में क्या कर सकते हैं?
किसी को भी किसी भी ओपन सोर्स प्रोजेक्ट है कि मुझे लगता है कि देख सकते हैं पता है मुझे इस समस्या से मदद मिल सकती है।
धन्यवाद।
uuh यह अच्छी बात है:
यहाँ IUnitOfWork का एक सरलीकृत कार्यान्वयन है! – Roubachof