Automapper将目标元素设置为空列表对象

时间:2017-11-15 18:18:03

标签: c# automapper

我是C#中使用automapper的新手,但我想知道如何将map中的值设置为空列表中的元素。

因此,在您映射from和to的ForMember中,我希望能够创建一个新对象并将该对象用作一个空的列表。你怎么能在automapper中做到这一点?

1 个答案:

答案 0 :(得分:0)

您使用.ForMember().UseValue()

public class Source
{
    public int Id { get; set; }
}

public class Dest
{
    public int Id { get; set; }
    public List<Foo> Foos { get; set; }
}

public class Foo
{
    public string Name { get; set; }
}

映射配置

CreateMap<Source, Dest>()
    .ForMember(d => d.Foos, m => m.UseValue( new List<Foo>() ));

用法

var source = service.GetItem();
var dest = Mapper.Map<Dest>(source);

Assert.IsTrue(dest.Foos.GetType() == typeof(List<Foo>));