पर गुण छोड़ देता है तो मैं निम्नलिखित वर्गों को परिभाषित किया है:Automapper पहली कॉल पर सही ढंग से नक्शे लेकिन दूसरी कॉल
public class ImageIndexModel {
public string Description {get; set;}
public string InstrumentNumber {get; set;}
}
public class ImageEditModel : ImageIndexModel {
public int TotalCount = 0;
}
public class Clerk { //This is actually a class defined by LinqToSql
public string Description {get; set;}
public string InstrumentNo {get; set;}
}
अब, मेरी global.asax
में, मैं Application_Start()
में निम्नलिखित मानचित्रण परिभाषित किया है।
Mapper.CreateMap<ImageIndexModel, Clerk>()
.ForMember(dest => dest.InstrumentNo,
opt => opt.MapFrom(src => src.InstrumentNumber));
अन्त में, मेरी नियंत्रकों में से एक में, मैं निम्नलिखित कोड है:
var _existing = new Clerk();
var _default = new ImageEditModel() {
InstrumentNumber = "12345678", Description = "Test"
};
Mapper.Map(_default, _existing);
पहली बार मैं अपने नियंत्रक पर कार्रवाई करते हैं और इस मानचित्रण फोन चलाया जाता है, सब कुछ ठीक काम करता है और InstrumentNumber
Clerk
ऑब्जेक्ट के InstrumentNo
पर सही ढंग से मैप किया गया है। हालांकि, दूसरी बार एक्शन कहलाता है, InstrumentNo
मैप नहीं किया जाता है। InstrumentNumber
निश्चित रूप से एक मूल्य है लेकिन InstrumentNo
शून्य है।
कोई विचार यहां क्या हो रहा है?
आपका कोड, जैसा कि प्रश्न में दर्ज किया गया है, कई बार चलाने पर भी ठीक काम करता है। तो Automapper समस्या नहीं प्रतीत होता है। मुझे Linq2SQL- जेनरेटेड क्लास या एएसपी.NET में इसका उपयोग करने के तरीके के साथ कुछ संदेह है। अधिक कोड के बिना, यह कहना मुश्किल है कि क्या गलत हो सकता है। मैं linq2sql- जेनरेटेड कक्षाओं के प्रॉपर्टी सेटर्स के अंदर ब्रेकपॉइंट्स सेट करूंगा। – PatrickSteele