AutoMapper使用操作来填充目标

jas*_*ard 2 automapper

我需要使用源对象上的公共方法将目标对象的列表映射到源.

例如

public class Destination
{
    private IList<int> List = new List<int>();
    public void Add(int i) { List.Add(i); }
}

public class Source
{
    public int[] List { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以在伪伪语言中,映射应该是:Source.List中的Mapper.CreateMap foreach项,调用Source.Add(item)

可以这样做吗?

Pat*_*ele 5

是.使用ConvertUsing语法:

Mapper.CreateMap<Source, Destination>()
    .ConvertUsing(s =>
                    {
                        var d = new Destination();
                        foreach(var i in s.List)
                        {
                            d.Add(i);
                        }
                        return d;
                    });
Run Code Online (Sandbox Code Playgroud)