【发布时间】:2018-06-27 17:13:53
【问题描述】:
嘿,我正在尝试将我的泛型类映射到具体类,但使用它的接口。
我的服务返回给我的数据类型是
IPaggedResults
我希望能够将其映射到
IPaggedResults
如果我调用映射,它会起作用:
_mapper.Map
但我想使用以下语法:
_mapper.Map
public class PaggedResults<T> : IPaggedResults<T>
{
public IEnumerable<T> Results { get; protected set; }
public int TotalResults { get; protected set; }
public int TotalPages { get; protected set; }
public int ResultsPerPage { get; protected set; }
public PaggedResults(IEnumerable<T> results, int totalResults, int resultsPerPage)
{
Results = results;
TotalResults = totalResults;
TotalPages = totalResults / resultsPerPage;
ResultsPerPage = resultsPerPage;
}
}
public class CustomerDto
{
public int Id { get; set; }
public string Name { get; set; }
public string NIP { get; set; }
}
我的映射器配置:
public static IMapper Initialize()
=> new MapperConfiguration(cfg =>
{
cfg.CreateMap<CustomerCompany, CustomerDto>();
cfg.CreateMap(typeof(IPaggedResults<>), typeof(PaggedResults<>));
cfg.CreateMap(typeof(IPaggedResults<>), typeof(IPaggedResults<>)).As(typeof(PaggedResults<>));
}).CreateMapper();
我正在使用 Jimmy Bogard 的 Automapper。
【问题讨论】:
-
什么是
_mapper??? -
我忘了 - _mapper 是 IMapper 实例
-
但是
IMapper是什么,它是你创建的一个类,对吧?放代码 -
IMapper 是来自 Automapper 库的 Automapper 实例。我把mapper配置放在上面。
标签: c# automapper