2013-03-10 23 views
7

Mapper Automap'i:Mapper vs Implicit Operators kullanmanın bir avantajı var mı?

Mapper.CreateMap<ObjectType1, ObjectType2>() 
    .ForMember(o1 => o1.PropName, mapper => mapper.MapFrom(o2 => o2.Prop2Name)); 

Mapper.Map(object1, object2); 

Örtülü operatörü:

public static implicit operator Object1(Object2 o2) 
{ 
    Object1 o1 = new Object2(); 
    //Mapping code here... 
    return o1; 
} 
+0

Bunu bir süre önce okudum. http://stackoverflow.com/questions/13053590/emit-mapper-vs-valueinjecter-or-automapper-performance –

cevap

7

örtük operatöründen Mapper.Map arayarak ikisini birden kullanamadı hiçbir sebep yoktur.

AutoMapper'ın kullanılması otomatik olarak oluşturulan eşleme koduna güvenmenizi sağlar, böylece her bireyi tek tek eşleştirmek için ForMember kullanmanız gerekmez.

+0

Performans hakkında ne düşünüyorsunuz? Ben örtük operatörde her şeyi yapmak daha hızlı olduğunu düşünüyorum, ama ben kendim test etmedim. – Boanerge

+0

AutoMapper'ın daha yavaş olduğunu düşünürdüm ama küçük farklılıklar hakkında konuşuyoruz. –

+1

Tamam. Hızlı yanıtın için teşekkürler. – Boanerge

İlgili konular