目前正在处理一些遗留代码,从手工构建的DTO改为使用automapper。直到我来到这个相对简单的班级:
public class JobRoleCompanyTypeDto
{
public int Id { get; set; }
public string Description { get; set; }
public string ResourceDescription { get; set; }
}
我们使用本地化,一些字符串需要转换,因此我将其添加到automapper配置中,正如我对其他此类属性所做的那样:
cfg.CreateMap<JobRoleCompanyType, JobRoleCompanyTypeDto>()
.ForMember(dto => dto.Description, opt => opt.MapFrom(jrc => jrc.Description.Translate()));
但当我真正来测试它时:
JobRoleCompanyType testJrc = _context.JobRoleCompanyTypes.First();
var mappedJrc = Mapper.Map<JobRoleCompanyTypeDto, JobRoleCompanyType>(testJrc);
它拒绝编译,给出了错误
无法从“MyNamespace.Entity.Model.JobRoleCompanyType”转换为“MyNamespace.Dal.Model.JobRoleCompanyTypedto”
我已经用这种方法绘制了很多其他类型的地图,所以我很困惑为什么这一个不起作用。毫无疑问,我错过了一些愚蠢和简单的事情,但我看不到它是什么?