AutoMapper对集合的映射和转换
在使用AutoMapper进行对象类型映射的时候,有时会面临将一个对象集合,全部转换到一个类型的集合。
比如有如下两个类型:
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class NameDto
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string AllName { get; set; }
}
现在我有一个List<Name>类型的 lsName集合,需要转换为List<NameDto>类型,我最开始想的办法是
Mapper.CreateMap<Name,NameDto>();
List<NameDto> lsNameDto = new List<NameDto>();
foreach (var item in lsName)
{
lsNameDto.Add(Mapper.Map<Name, NameDto>(item));
}
后来发现有点麻烦,进过研究发现可以直接这样搞:
Mapper.CreateMap<Name, NameDto>();
List<NameDto> lsNameDto = Mapper.Map<List<Name>, List<NameDto>>(lsName);
很给力吧。2012-02-10 12:38:39
出处:http://www.cnblogs.com/rpoplar/
本文版权归作者【rpoplar】和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究其法律责任的权利。