我有2个对象:Parent和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; }
}
我想使用AutoMapper将数据从Parent对象映射到ParentDTO对象(ListChild中的所有数据都必须传输到ListChildDTO)
谁能帮我。谢谢
您应该能够创建顶级映射,AutoMapper将自动映射列表。
//Create Mappings
Mapper.CreateMap<Parent, ParentDto>();
Mapper.CreateMap<Child, ChildDto>();
//Map
Mapper.Map<Parent, ParentDto>();
在GitHub上的AutoMapper项目站点上查看Wiki。 http://docs.automapper.org/en/stable/Lists-and-arrays.html
在地图之前修改你的代码就像这样
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; }
}
然后映射