2010-01-08 14 views
5

Is सेटअप करने के लिए Automapper एक सम्मेलन के साथ संभव है, ताकि नक्शे स्थितियों में, जहां इकाई आप सिर्फ इतना कहना है करने के लिए "ViewModel" संलग्न मानचित्रण कर रहे हैं के लिए हाथ से बनाया जा करने की जरूरत नहीं है।Automapper कन्वेंशन

एक उदाहरण मैं सेटअप करने के लिए निम्न नक्शा है बल्कि नहीं होगा के रूप में:

Mapper.CreateMap<Error, ErrorViewModel>(); 

मैं समझता हूँ कि अगर प्रेक्षपण की आवश्यकता है कि मैं एक कस्टम मानचित्र बनाने की जरूरत है, लेकिन नक्शे बनाने के लिए किया जाएगा एक सम्मेलन होने अच्छा।

+0

एक साइड नोट के रूप में, हम मूल रूप से स्कैनिंग जोड़ने पर आगे और आगे चले गए हैं। यहां तक ​​कि बड़ी # मैपिंग परिभाषाओं (लगभग 4-500) के साथ, यह वास्तव में हमारे लिए एक दर्द देखने के लिए पर्याप्त दर्द नहीं था। –

+0

ValueInjecter http://valueinjecter.codeplex.com/documentation कोशिश, यह टाइप करने के लिए – Omu

+0

प्रकार के प्रत्येक संयोजन के लिए नक्शे के निर्माण की आवश्यकता नहीं है तुम क्यों नहीं सेटअप यह करेगा? – gdoron

उत्तर

6

आप Mapper.DynamicMap<TDest>(source) उपयोग करने के लिए मैप करने के लिए की आवश्यकता होगी।

आप नीचे दिए गए उदाहरण में देख सकते हैं, यह स्वचालित रूप से मिलान गुण स्रोत से गंतव्य के लिए मैप करता है।

using AutoMapper; 
using System.Diagnostics; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     var source = new Foo {Value = "Abc"}; 
     var destination = Mapper.DynamicMap<FooViewModel>(source); 

     Debug.Assert(source.Value == destination.Value); 
    } 
} 

public class Foo 
{ 
    public string Value { get; set; } 
} 

public class FooViewModel 
{ 
    public string Value { get; set; } 
} 
+1

धन्यवाद, मैंने Mapper.DynamicMap नहीं देखा था – beckelmw

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