Как вы сопоставляете Dto с существующим экземпляром объекта с вложенными объектами с помощью AutoMapper?

У меня есть следующие Dto и сущность с вложенной суб-сущностью.

public class Dto
{
    public string Property { get; set; }
    public string SubProperty { get; set; }
}

public class Entity
{
    public string Property { get; set; }
    public SubEntity Sub { get; set; }
}

public class SubEntity
{
    public string SubProperty { get; set; }
}

Как я могу настроить сопоставление с AutoMapper , которое позволит мне обновить существующий экземпляр Entity значениями из Dto .

Я использую Mapper.Map (dto, entity) для обновления существующего объекта, но когда я пытаюсь сопоставить Dto.SubProperty с Entity.Sub.SubProperty Я получаю исключение для "должен разрешаться в член верхнего уровня. Имя параметра: lambdaExpression" .

Если я создаю отображение из Dto в SubEntity с помощью FromMember , то Entity.Sub заменяется новым экземпляром SubEntity , но это не то, что мне нужно. Я просто хочу обновить свойства существующего экземпляра SubEntity в свойстве Sub объекта Entity .

Как я могу этого добиться?

12
задан GiddyUpHorsey 8 September 2010 в 22:42
поделиться