Automapper将包含对象列表的源映射到目标

5

我需要使用Automapper创建一个映射关系。

Public class Source
{
    public string Id;
    public string Firstname;
    public string Lastname;
}

目的地是

Public class Destination
{
    public string Id;
    public Person[] persons;
}

Person Class is

Public class Person
{
    public string FirstName;
    public string LastName;
}

我正在尝试创建映射。

AutoMapper.Mapper.CreateMap<Source, Destination>(); 

但我不知道如何将名字和姓氏映射到Person对象的数组中。

2个回答

7
AutoMapper.Mapper.CreateMap<Source, Destination>().AfterMap((s,d) => d.Person = new Person[] { FirstName = s.FirstName, LastName = s.LastName }));

这个解决方案应该创建一个Person的新实例,但您是否最好将它们映射到一个新类而不是数组中?


0

我解决了它。

AutoMapper.Mapper.CreateMap<Source, Destination>()
                .AfterMap((s, d) => d.persons= new Person[1])
                .AfterMap((s, d) => d.persons[0] = new Person{ FirstName= s.FirstName, LastName= s.LastName, RemoteId = s.Name 
                ;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接