C# 如何将多个字段映射到同一字段?
我有这样一个源类:C# 如何将多个字段映射到同一字段?,c#,automapper,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; } } 现在的
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) )
;
CreateMap()
.ForMember(dest=>dest.VALUE,m=>m.MapFrom(src=>src.RXEAmount))
.ForMember(dest=>dest.VALUE,m=>m.MapFrom(src=>src.rxoamunt))
;
如何在不替换值中的值的情况下映射这两个字段?如果要将对象一分为二,可以不使用AutoMaper(将一个实例映射为另一个实例),也可以定义两个命名映射并执行两次映射 我同意第一种选择
var items = new Item[]
{
new Item { ID = order.ID, Value = order.RXEAmount },
new Item { ID = order.ID, Value = order.RXOAmount }
}
你想达到什么目标?为什么要将两个属性映射到
Value
属性而不替换该值?你想合计这些金额吗?基本上,在我映射这些金额之后,我需要创建两个单独的项目记录,每个记录都有上面映射的一个值。对不替换问题是,对下一个问题是,我倾向于同意你的观点。这似乎超出了automapper的支持范围。