来源这些是来源类。 Prop2是一个复杂类型,我希望在我的目的地中展平。
public class Destination
{
public string Prop1 { get; set; }
public string Prop3 { get; set; }
public decimal Prop4 { get; set; }
public bool Prop5 { get; set; }
}
目的地这是目的地类
{
[
prop1: "abc1",
prop3: efg1,
prop4: 123.4,
prop5: true
],
[
prop1: "abc2",
prop3: efg2,
prop4: 123.5,
prop5: false
],
[
prop1: "abc3",
prop3: efg3,
prop4: 123.6,
prop5: true
],
[
prop1: "abc4",
prop3: efg4,
prop4: 123.7,
prop5: false
],
........
........
........
}
预期结果应该是目标类
中所有属性的集合{{1}}
答案 0 :(得分:0)
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Source2,Destination>().ForMember(d=>d.Prop1, o=>o.ResolveUsing((s,_,__,context)=>context.Items["Prop1"]));
});
Mapper.AssertConfigurationIsValid();
var source = new Source1 { Prop1="1", Prop2 = new List<Source2> { new Source2 {}, new Source2 {}, new Source2 {} }};
Mapper.Map<IEnumerable<Destination>>(source.Prop2, opts=>opts.Items["Prop1"]=source.Prop1).Dump();