Automapper - он отображает списки объектов? - PullRequest
49 голосов
/ 25 ноября 2010

У меня есть следующее определение Automapper:

Mapper.CreateMap<IB.BusinessComponents.Data.LocationMaster, IB.Entites.Master.Location>();
Mapper.CreateMap<IB.BusinessComponents.Data.LocationMaster, IB.Entites.Master.Location>()
    .ForMember(destination => destination.Id, source => source.MapFrom(item => item.LocationMasterID))
    .ForMember(destination => destination.ChildLocationList, source => source.Ignore());

Это прекрасно работает, когда я сопоставляю один объект. Но я не могу передать списки объектов. Нужно ли другое определение при передаче в списке, или это невозможно?

1 Ответ

131 голосов
/ 26 ноября 2010

В вашем определении AutoMapper:

    CreateMap<MyStuffDTO, MyStuffViewModel>()
        .ForMember(dto => dto.MyDate, opt => opt.MapFrom(src => src.LastDate))
        .ForMember(dto => dto.MyTime, opt => opt.MapFrom(src => src.LastTime))
        .ForMember(dto => dto.Category, opt => opt.MapFrom(src => src.Category));

В коде:

Для одного:

var result = Mapper.Map<MyStuffDTO, MyStuffViewModel>(obj);

Для списка:

var list = Mapper.Map<IList<MyStuffDTO>, IList<MyStuffViewModel>>(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...