我有一个域对象
public class ProductModel
{
public long Id {get;set;}
public string Name {get;set;}
public string SerialNumber {get;set;}
}
单 Dto 类:
public class ProductDto
{
public long Id {get;set;}
public string Name {get;set;}
public string SerialNumber {get;set;}
}
单个 Dto 类,它是 Dto 对象的列表:
public class ProductListDto : List<ProductDto>
{
public List<ProductDto> Products;
public ProductListDto()
{
Products = new List<ProductDto>();
}
}
我想将域对象列表映射到 Dto 对象列表,以便 ProductListDto 对象的“产品”属性自动映射到 ProductModel 对象列表:
ProductListDto dto = new ProductListDto();
Mapper.CreateMap<ProductModel, ProductDto>();
/* dto = (ProductListDto) Mapper.Map<List<ProductModel>, List<ProductDto>>((List<ProductModel>)model); this code line causes error. It is commented out. */
dto.Products = Mapper.Map<List<ProductModel>, List<ProductDto>>((List<ProductModel>)model); // (*) works OK but need to specify "Products" property
代码行(*)工作正常,但我想知道是否有另一种方法可以自动(隐式)映射除代码行(*)之外的 dto 对象的“产品”属性?
这意味着我不必像代码行 (*) 的左侧那样编写代码。