从源到目标的自动映射映射,包含对象列表

时间:2014-02-19 10:23:04

标签: automapper automapping automapper-2 automapper-3

我必须使用automapper创建一个Mapping。

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

目的地

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

人类是

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

我正在尝试创建映射

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

但我不知道如何将Firstname,Lastname映射到对象Person的数组。

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分: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 
                ;