Automapper: - Отображение списка <SourceClass>Свойство в список <DestinatioClass>внутри класса - PullRequest
0 голосов
/ 02 сентября 2018

Привет, у меня есть структура ниже, такая же, как у моего DTO, возвращенного бэкэнд-сервисом, и я хочу настроить его на Automapper. Я получу список вместе с данными для рабочего процесса и истории рабочего процесса. Мой конфиг автопроизводителя выглядит так

public static void Initialize()
    {
        Mapper.Initialize((config) =>
        {
            config.CreateMap<WorkFlowApi.Models.WorkFlowMaster, WorkFlow.Entities.WorkFlowMaster>().ReverseMap()
            config.CreateMap<WorkFlowApi.Models.WorkFlow, WorkFlow.Entities.WorkFlow>().ReverseMap();
            config.CreateMap<WorkFlowApi.Models.WorkFlowHistory, WorkFlow.Entities.WorkFlowHistory>().ReverseMap();

        });
    }

Бэкэнд-сервис восстанавливает список со всей информацией, и я пытаюсь этот код. Но дочерние свойства не заполняются.

 var result = _service.GetWorkFlowDetails(requestId);
List<Models.WorkFlowMaster> listObj = Mapper.Map<List<WorkFlow.Entities.WorkFlowMaster>, List<Models.WorkFlowMaster>>(result);

public class WorkFlowMaster
{
    public DateTime StartedOn { get; set; }
    public string StartedBy { get; set; }
    public string RequestId { get; set; }
    public bool IsCompleted { get; set; }
    public List<WorkFlow> WorkFlow { get; set; }  
    public WorkFlowMaster()
    {
        WorkFlow = new List<Models.WorkFlow>();

    }
}

public class WorkFlow
{
    public string Role { get; set; }        
    public int ApprovalStageOrder { get; set; }
    public string PersonnelNumber { get; set; }      
    public DateTime CreatedOn { get; set; }
    public DateTime? UpdatedOn { get; set; }
    public bool IsApproved { get; set; }
    public bool IsReviewer { get; set; }
    public string Status { get; set; }
    public List<WorkFlowHistory> WorkFlowHistory { get; set; }
    public WorkFlow()
    {
        WorkFlowHistory = new List<Models.WorkFlowHistory>();
    }
}
public class WorkFlowHistory
{
    public string Role { get; set; }       
    public int ApprovalStageOrder { get; set; }
    public string PersonnelNumber { get; set; }             
    public DateTime CreatedOn { get; set; }
    public string Status { get; set; }
    public bool IsReviewer { get; set; }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...