У меня есть простое отображение, и оно работает, но не заполняет Output.Details.
Я немного запутался, думаю, возможно, потому что я использую источник в качестве «Задачи» для каждого.
Mapper.CreateMap<Task, Output>();
Mapper.CreateMap<Task, Output.Details>().ForMember(
dest => dest.Item, opt => opt.MapFrom(src => src.Name));
Насколько я знаю, мне нужно создать 2 карты, 1 для объекта и 1 для объекта, содержащегося в нем.
Проблема в том, что источником для OUTPUT и OUTPUT.DETAILS является TASK
Я попытался углубиться в детали в пределах первой карты и указать Mapfrom, но это дает следующую ошибку, поэтому я должен создать 2 карты
must resolve to top-level member. Parameter name: lambdaExpression error
IList<Task> tempItems= GetItems();
IList<Output> items =
Mapper.Map<IList<Task>, IList<Output>>(tempItems);
Карта работает, но моя собственность "Предмет" доступна в Output.Details NULL
Что я делаю не так ... вот мой объект назначения. Любая помощь очень ценится
Это имя заполняется без проблем, но внутри DETAILS ничего нет ... они остаются NULL
Задача - не мой класс, но я проверил ее, и все значения должны быть скопированы, следовательно, Tag имеет значение и является STRING.
public class Output
{
public string Name { get; set; }
public Details Summary { get; private set; }
public class Details
{
public string Item{ get; set; }
}
public Output()
{
Summary = new Details();
}
}
EDIT
Вот пример класса Task.
![enter image description here](https://i.stack.imgur.com/d6HM9.png)
EDIT
Здесь приведен пример проекта против 2010 года, и он показывает именно проблему.
http://dl.dropbox.com/u/20103903/AutomapperNotWorking.zip
и вот изображение, показывающее проблему, поскольку вы можете видеть, что Сводный элемент имеет значение "NULL", но он должен содержать ИМЯ из Задачи.
![enter image description here](https://i.stack.imgur.com/Q78M7.png)