РЕДАКТИРОВАТЬ: Название неверно, я пытаюсь сопоставить исходный список с исходным списком вложенной модели.
У меня возникли проблемы с попыткой сопоставить список с другим списком во вложенной модели. Своего рода и неплоские виды. Проблема в том, что я не знаю, как делать сопоставления.
Вот моя установка после моих неудачных попыток сопоставления:
public class DestinationModel
{
public DestinationNestedViewModel sestinationNestedViewModel { get; set; }
}
public class DestinationNestedViewModel
{
public List<ItemModel> NestedList { get; set; }
}
public class SourceModel
{
public List<Item> SourceList { get; set; }
}
Где Item и ItemModel уже имеют определенное сопоставление между ними
Я не могу сделать это таким образом...
Mapper.CreateMap<SourceModel, DestinationModel>()
.ForMember(d => d.DestinationNestedViewModel.NestedList,
opt => opt.MapFrom(src => src.SourceList))
ОШИБКА:
Выражение 'd => d.DestinationNestedViewModel.NestedList' должно разрешаться в элемент верхнего уровня. Имя параметра: lambdaExpression
Затем я попробовал что-то вроде этого:
.ForMember(d => d.DestinationNestedViewModel,
o => o.MapFrom(t => new DestinationNestedViewModel { NestedList = t.SourceList }))
Проблема в том, что NestedList = t.SourceList. Каждый из них содержит разные элементы, ItemModelи Itemсоответственно. Поэтому их необходимо нанести на карту.
Как это сопоставить?