我有自己的泛型类型:PagedList<T>
,负责分页,在我从存储库中获取查询并返回后,例如PagedList<User>
进行服务,我的服务应返回PagedList<UserDTO>
。所以我尝试映射:
return _mapper.Map <PagedList<User>, PagedList<UserDTO>>(userList);
这就是我得到的:
ArgumentException:
App.Core.Paging.PagedList`1[App.Infrastructure.DTO.UserDTO] needs to have a
constructor with 0 args or only optional args.
Parameter name: type
lambda_method(Closure , PagedList<User> , PagedList<UserDTO> ,
ResolutionContext )
AutoMapperMappingException: Error mapping types.
在我的mapper配置中:
cfg.CreateMap<User, UserDTO>();
这还不够,还是我错过了什么?两个类中的属性都相同。
答案 0 :(得分:0)
错误消息告诉您确切的问题:PagedList
类需要AutoMapper可以使用的构造函数。最简单的选择是在类中添加一个空构造函数:
public class PagedList<T>
{
//Add this:
public PagedList() { }
}
但是,您需要确定这是否适合您的情况。