我有一堂课:

public class Foos
{
    public string TypeName;

    public IEnumerable<int> IDs;
}

是否可以使用AutoMapper将其映射到Foo对象的IList?
public class Foo
{
    public string TypeName;

    public int ID;
}

最佳答案

Omu的答案给了我一个解决问题的想法(建议+1)。我使用了ConstructUsing()方法,它为我工作:

    private class MyProfile : Profile
    {
        protected override void Configure()
        {
            CreateMap<Foos, Foo>()
                .ForMember(dest => dest.ID, opt => opt.Ignore());
            CreateMap<Foos, IList<Foo>>()
                .ConstructUsing(x => x.IDs.Select(y => CreateFoo(x, y)).ToList());
        }

        private Foo CreateFoo(Foos foos, int id)
        {
            var foo = Mapper.Map<Foos, Foo>(foos);
            foo.ID = id;
            return foo;
        }
    }

关于collections - 是否可以将对象映射到Automapper中的列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3388507/

10-10 17:17