2013-03-10 24 views
7

Mapper AutoMap:Có lợi thế nào khi sử dụng toán tử Mapper và Implicit không?

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

Mapper.Map(object1, object2); 

Implicit điều hành:

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

Tôi đã đọc điều này một thời gian trước đây. http://stackoverflow.com/questions/13053590/emit-mapper-vs-valueinjecter-or-automapper-performance –

Trả lời

7

Không có lý do bạn không thể sử dụng cả hai với nhau, bằng cách gọi Mapper.Map từ các nhà điều hành ngầm.

Sử dụng AutoMapper cho phép bạn dựa vào mã bản đồ được tạo tự động, để bạn không phải sử dụng ForMember để ánh xạ từng thành viên riêng lẻ.

+0

Còn hiệu suất thì sao? Tôi nghĩ rằng làm mọi thứ trong toán tử ngầm là nhanh hơn, nhưng tôi chưa thử nghiệm nó. – Boanerge

+0

Tôi sẽ tưởng tượng AutoMapper là chậm hơn, nhưng chúng ta đang nói về sự khác biệt nhỏ. –

+1

OK. Cảm ơn phản hồi nhanh chóng của bạn. – Boanerge

Các vấn đề liên quan