Объект Box
имеет свойство SerialNumbers
, являющееся списком (или ICollection) объектов <SerialNumber>
. Мне нужно каждое свойство .Name
, которое должно быть отображено в строку в списке строк в моем BoxedElectrodesRowModel
.Попытка сопоставить свойство объекта с строкой с помощью AutoMapper
Вот мой код:
c.CreateMap<Box, BoxedElectrodesRowModel>()
.ForMember(dest => dest.BoxId, opts => opts.MapFrom(src => src.BoxID))
.ForMember(dest => dest.SerialNumbers, opts => opts.MapFrom(src => src.SerialNumbers))
.ForMember(dest => dest.DateCreated, opts => opts.MapFrom(src => src.DateCreated));
Если вы заметили в третьей строке, я пытаюсь преобразовать dest.SerialNumbers
(который является список строк в модели) в src.SerialNumbers
, которая является ICollection из SerialNumber
s. Мне, в частности, нужно SerialNumber
имя. Я пытался сделать src.SerialNumbers.Name
, но LINQ это не нравится.
Моя попытка исправить это, чтобы добавить этот код выше предыдущего блока:
c.CreateMap<SerialNumber, string>()
.ConvertUsing(src => src.Name);
Но тогда я получаю сообщение об ошибке «Не удается преобразовать лямбда-выражения к типу„строка“, потому что это не тип делегата» ,
Я действительно очень новичок в AutoMapper и чувствую, что кругом в темноте. Может ли кто-нибудь помочь мне в этом?