5

我必须使用自动映射器创建映射。

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 数组。

4

2 回答 2

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

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

于 2014-02-19T10:54:06.737 回答
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 
                ;
于 2014-02-19T12:03:04.407 回答