जवाबों:
मौजूदा गंतव्य पर ले जाने वाले अधिभार का उपयोग करें:
Mapper.Map<Source, Destination>(source, destination);
हां, यह गंतव्य वस्तु देता है, लेकिन यह सिर्फ कुछ अन्य अस्पष्ट परिदृश्यों के लिए है। यह एक ही वस्तु है।
इस काम को करने के लिए आपको स्रोत और गंतव्य के प्रकारों के लिए CreateMap करना पड़ता है, यहां तक कि वे एक ही प्रकार के होते हैं। इसका मतलब है कि यदि आप चाहते हैं कि आपको
Mapper.Map<User, User>(user1, user2);
इस तरह का नक्शा बनाने की आवश्यकता है
Mapper.Create<User, User>()
यदि आप स्वीकार किए गए उत्तर में उपयोग किए गए स्थिर विधि के बजाय IMapper की आवृत्ति विधि का उपयोग करना चाहते हैं, तो आप निम्न (परीक्षण किए गए AutoMapper 6.2.2
) कर सकते हैं
IMapper _mapper;
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Source, Destination>();
});
_mapper = config.CreateMapper();
Source src = new Source
{
//initialize properties
}
Destination dest = new dest
{
//initialize properties
}
_mapper.Map(src, dest);
dest
अब src
इसे साझा किए गए सभी संपत्ति मूल्यों के साथ अपडेट किया जाएगा । इसके अनूठे गुणों के मूल्य समान रहेंगे।