如何将多个字段映射到同一个字段?

时间:2013-07-23 22:54:06

标签: c# automapper

我有一个像这样的源类:

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 个答案:

答案 0 :(得分:0)

如果要将对象拆分为两个,则要么不使用Automapper(将一个实例映射到另一个实例),要么定义两个命名映射并执行两次映射。

我会选择第一个选项。

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