मैं एएसपी.नेट एमवीसी समाधान और यूनिटी डी के साथ ऑटोमैपर का उपयोग करने की योजना बना रहा हूं। उपयोग करने के तरीके पर automapper पर पोस्ट किया गया वीडियो बहुत पुराना है और यह दिखाता नहीं है कि निर्भरता इंजेक्शन के साथ मैपर का उपयोग कैसे किया जा सकता है। स्टैक ओवरफ्लो पर अधिकांश उदाहरण मैपर.क्रेटमैप() विधि का भी उपयोग करते हैं जो अब बहिष्कृत है।एकता निर्भरता इंजेक्शन के साथ ऑटोमैपर का उपयोग कैसे करें?
automapper मार्गदर्शक कहता
बार जब आप अपने प्रकार है आप एक MapperConfiguration उदाहरण और CreateMap का उपयोग कर दो प्रकार के लिए एक नक्शा बना सकते हैं। आपको केवल एक मैपर कॉन्फ़िगरेशन आवृत्ति प्रति एपडोमेन की आवश्यकता है और स्टार्टअप के दौरान तत्काल होना चाहिए।
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>());
तो मैं कोड की रेखा से ऊपर मानते हुए हूँ Global.asax
की तरह, आवेदन स्टार्टअप में जाने एक मानचित्रण करने के लिए, एक IMapper CreateMapper विधि का उपयोग पैदा करेगा।
var mapper = config.CreateMapper();
OrderDto dto = mapper.Map<OrderDto>(order);
उपर्युक्त रेखा नियंत्रक में जाएगी। हालांकि मुझे समझ में नहीं आता कि यह config
परिवर्तक कहां से आ रहा है? मैं नियंत्रक में IMapper इंजेक्षन कैसे करूँ?
आपको कंटेनर को 'IMapper' और मैपर उदाहरण के बीच मानचित्र में कॉन्फ़िगर करना चाहिए। फिर आपको नियंत्रक से 'IMapper' पर निर्भरता घोषित करनी चाहिए (कन्स्ट्रक्टर में 'IMapper' को स्वीकार करके)। –
कोई उदाहरण? तो क्या प्रत्येक इकाई के लिए मुझे नया मैपर कॉन्फ़िगरेशन() 'मैप करने की आवश्यकता होगी? उदाहरण वास्तव में मदद मिलेगी – LP13