var company = _companyManager.GetAll();
var result = _mapper.Map<IDataResult<List<CompanyListDto>>>(company);
当使用Automapper时使用List以外的东西时,出现缺少类型映射配置或不支持的映射。错误。
如何将另一个对象映射到列表之外?
操作如下。Code logic
我已经解决了问题我如下解决了它。感谢您的回答。
var result = _mapper.Map<IDataResult<List<CompanyListDto>>>(company.Data);
您的自动映射器无法找到您要执行的映射类型的配置。我想您尚未完成配置。首先,您需要指定每个域的映射配置。这可以通过两种方式完成。
如果使用的是静态方法。在startup.cs
中进行配置,以便在启动应用程序时将其初始化。 For more details
例如:
AutoMapper.Mapper.Initialize(cfg => {
cfg.CreateMap<Source, Destination>();
});
要进行自定义配置,可以使用以下内容
AutoMapper.Mapper.Initialize(cfg => {
cfg.CreateMap<Source, Destination>().ForMember(dest => dest.property, source => source.MapFrom(x => x.property))
});
注意: Automapper将根据相应的命名约定和类型来映射源和目标。因此,如果它们不同,则必须在配置文件中显式配置它们。