AutoMapper在映射两个列表

时间:2016-10-05 15:01:40

标签: c# automapper

我想使用AutoMapper将一个List转换为另一个List,但它返回一个空列表

这是我的源对象

public class Charge
{
    public int ChargeID { get; set; }
    public string ChargeName { get; set; }
    public int CreatedBy { get; set; }
    public DateTime CreatedDate { get; set; }
    public int ModifiedBy { get; set; }
    public DateTime ModifiedDate { get; set; }
}

这是我的目标对象

public class ChargeVM
{
    public int ChargeID { get; set; }
    public string ChargeName { get; set; }
    public bool IsActive { get; set; }
}

这是我的AutoMapper映射

 List<Charge> chargeList= GetActiveChargeTemplates();   

 Mapper.CreateMap<List<Charge>, List<ChargeVM>>();

 List<ChargeVM>  list=Mapper.Map<List<Charge>, List<ChargeVM>>(chargeList);

此返回列表为count = 0的空列表 我在这里做错了吗?

1 个答案:

答案 0 :(得分:4)

更改

Mapper.CreateMap<List<Charge>, List<ChargeVM>>();

Mapper.CreateMap<Charge, ChargeVM>();

您不必为列表显式创建地图,只需列出列表中的对象。