Automapper返回一个未列出的对象

问题描述 投票:0回答:1
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);
c# .net asp.net-core automapper core
1个回答
1
投票

您的自动映射器无法找到您要执行的映射类型的配置。我想您尚未完成配置。首先,您需要指定每个域的映射配置。这可以通过两种方式完成。

  1. 使用配置文件(依赖注入)Reference
  2. 使用静态方法

如果使用的是静态方法。在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将根据相应的命名约定和类型来映射源和目标。因此,如果它们不同,则必须在配置文件中显式配置它们。

© www.soinside.com 2019 - 2024. All rights reserved.