2013-07-23 72 views
0

我有一個源類,像這樣:如何將多個字段映射到同一個字段?

public class Order 
{ 
    public int ID { get; set; } 
    public string RXEAmount{ get; set; } 
    public string RXOAmount{ get; set; } 
} 

需要映射到這個類:

public class Item 
{ 
    public int ID { get; set; }, 
    public string Value { get; set; } 
} 

映射貌似現在這種權利:

CreateMap<Order, Item>() 
.ForMember(dest => dest.VALUE, m => m.MapFrom(src => src.RXEAmount)) 
.ForMember(dest => dest.VALUE, m => m.MapFrom(src => src.RXOAmount)) 
; 

我如何這樣做的方式允許我映射這兩個字段而不替換VALUE中的值?

+1

你想達到什麼目的?爲什麼要將兩個屬性映射到'Value'屬性並*不*替換值?你想總結金額? –

+0

基本上,在我映射這些後,我需要創建兩個單獨的Item記錄,每個記錄都帶有上面映射的VALUE之一。是的,不是替換問題,不是下一個問題。 –

回答

0

如果要將對象拆分爲兩部分,您要麼不使用Automapper(將一個實例映射到另一個單個實例),要麼定義兩個命名的映射並執行兩次映射。

我會去第一個選項。

var items = new Item[] 
{ 
    new Item { ID = order.ID, Value = order.RXEAmount }, 
    new Item { ID = order.ID, Value = order.RXOAmount } 
} 
+0

我傾向於同意你的看法。這似乎超出了automapper支持的範圍。 –

相關問題