使用automapper的对象映射列表



我使用automapper是为了动态地映射对象。

public class CarProfile : Profile
{
public CarProfile()
{
CreateMap<Car, CarVM>();
CreateMap<CarVM, Car>();
CreateMap<List<Car>, List<CarVM>>();
CreateMap<List<CarVM>, List<Car>>();            
}
}
List<Car> cars = ... get data()...
List<CarVM> vmList = new List<CarVM>();
foreach (var car in cars)
{
vmList.Add(mapper.Map<Car>(item));
}

这是可行的,但我想映射list而不是foreach中列表中的每个对象,所以我尝试

vmList.AddRange(mapper.Map<List<Car>>(cars));

和我没有得到异常或错误,但在vmList中没有对象。我错过了什么?

删除List映射

CreateMap<List<Car>, List<CarVM>>();
CreateMap<List<CarVM>, List<Car>>(); 

你只需要奇异映射。
复数/list是现成的,参见文档。

CreateMap<Car, CarVM>();
CreateMap<CarVM, Car>();

你可能指的是:mapper.Map<List<CarVM>>(cars)

相关内容

  • 没有找到相关文章

最新更新