1

我有两个班,SaleSaleDTO

当我使用 automapper 映射这两个类的对象时,它会起作用。

但是,如果我这样做:

List<Sale> s = GetSalesFromDatabaseMethod();
List<SaleDTO> sa = Mapping.Map<List<Sale>, List<SaleDTO>>(s);

sa会变成空的。难道我做错了什么?

Map方法基本上是映射的快捷方式:

public static H Map<T, H>(T i) {
    Mapper.CreateMap<T, H>();
    return Mapper.Map<T, H>(i);
}
4

2 回答 2

8

我从Automapper copy List to List找到了答案 。

显然,我制作的快捷方式Mapping.Map<>()不起作用,因为我需要先创建两个类的映射,然后再映射列表,如下所示:

Mapper.CreateMap<Sale, SaleDTO>();
List<SaleDTO> sa = Mapper.Map<List<Sale>, List<SaleDTO>>(s);
于 2013-06-15T11:09:14.517 回答
0

不知道有没有人和我一样的错误。

这是我解决这个问题的方法:

List<Sale> s = GetSalesFromDatabaseMethod();
List<SaleDTO> sa = s.Select(item => (Sale) item).ToList();
于 2019-11-08T18:37:34.407 回答