2010-02-02 10 views
21

हम कोडप्लेक्स से ऑटोमैपर का उपयोग कर रहे हैं और मेरे लिए गंतव्य ऑब्जेक्ट में 'फील्ड' के साथ समाप्त होने वाली सभी संपत्तियां हैं, यानी सिटीफ़ील्ड और स्रोत ऑब्जेक्ट में केवल शहर है।संपत्ति नाम अलग होने पर ऑटोमैपर का उपयोग

मैं प्राप्त करने के लिए नीचे दिए गए कोड का उपयोग कर सकता हूं लेकिन सभी गुण केवल 'फ़ील्ड' के साथ पर्याप्त हैं और 20 गुण हैं।

.ForMember(dest => dest.cityField, opt => opt.MapFrom(origin => origin.City)); 

वहाँ और अनदेखी करने के लिए 'फील्ड' शब्द किसी अन्य तरीके से जब मानचित्रण है इतना है कि यह .ForMember() 20 बार उपयोग किए बिना मैप कर सकते हैं?

उत्तर

18

आप postfixes पहचानने की कोशिश कर सकते हैं:

Mapper.Initialize(cfg => { 
    cfg.RecognizePostfixes("Field"); 
    cfg.CreateMap<Source, Dest>(); 
}); 

को स्वीकार करते हुए उपसर्गों भी प्रोफाइल के लिए स्थानीय से काम करता है, तो यह सिर्फ नक्शे का एक सेट है कि इस पर लागू होता है है।

3

मुझे लगता है कि आपको इसके आसपास काम करने के लिए अपने INamingConvention को लागू करना होगा।

+1

लिंक मर चुका है, एक अपडेट मिला? – CaffGeek

संबंधित मुद्दे