Automapper - отображает ли список объектов?
У меня есть следующее определение 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
В определении 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));
В коде:
Для Single:
var result = Mapper.Map<MyStuffDTO, MyStuffViewModel>(obj);
Для списка:
var list = Mapper.Map<IList<MyStuffDTO>, IList<MyStuffViewModel>>(obj);