How to using AutoMapper to map a child list object

Viewed 11701

I have 2 objects : Parent and ParentDTO :

    public class Parent
    {
        public int ParentID { get; set;}
        public string ParentCode { get; set; }
        public List<Child> ListChild { get; set; }
    }

    public class Child
    {
        public int ChildID { get; set; }
        public string ChildCode { get; set; }
    }

    public class ParentDTO
    {
        public int ParentID { get; set; }
        public string ParentCode { get; set; }
        public List<ChildDTO> ListChild { get; set; }
    }

    public class ChildDTO
    {
        public int ChildID { get; set; }
        public string ChildCode { get; set; }
    }

I want to using AutoMapper to map data from Parent object to ParentDTO object (all data in ListChild has to transfer to ListChildDTO)

Can anyone help me. Thanks

2 Answers

Before map modify your code like this

public class Parent
{
    public Parent()
    {
        this.ListChild = new List<Child>();
    }
    public int ParentID { get; set; }
    public string ParentCode { get; set; }
    public List<Child> ListChild { get; set; }
}

public class Child
{
    public int ChildID { get; set; }
    public string ChildCode { get; set; }
    public Parent Parent { get; set; }
}

public class ParentDTO
{
    public ParentDTO()
    {
        ListChild = new List<ChildDTO>();
    }
    public int ParentID { get; set; }
    public string ParentCode { get; set; }
    public List<ChildDTO> ListChild { get; set; }
}

public class ChildDTO
{
    public int ChildID { get; set; }
    public string ChildCode { get; set; }
    public ParentDTO ParentDTO { get; set; }
}

Then map

Related