AutoMapper异常将一个DTO转换为另一个对象时

时间:2016-05-13 08:15:43

标签: c# mapping nunit automapper

我正在尝试运行测试以检查我的映射是否正确但是每次运行调试器时我都会得到AutoMapperMappingException

我的代码:

public BB.LMS.Models.CaseExport ConvertStarsCaseExportToCaseExport(BB.LMS.Services.Core.Models.Stars.caseexport caseExport)
{
    Mapper.CreateMap<BB.LMS.Services.Core.Models.Stars.caseexport, CaseExport>();

    var ConvertedCase = Mapper.Map<BB.LMS.Services.Core.Models.Stars.caseexport, BB.LMS.Models.CaseExport>(caseExport);
    return ConvertedCase;

}

[TestMethod()]
public void ConvertToCaseTest()
{
    DTOService service = new DTOService();

    caseexport export = xmlService.DeserializeStarsExport(testStarsFile);
    CaseExport convertedCase = service.ConvertStarsCaseExportToCaseExport(export);

例外:

  

{       &#34;缺少类型映射配置或不支持的映射。\ r \ n \ r \ n映射类型:\ r \ ncase - &gt; Case \ r \ nBB.LMS.Services.Core.Models.Stars.case - &gt; BB.LMS.Models.Case \ r \ n \ r \ n目标路径:\ r \ nCaseExport.solicitor.solicitor.case.case \ r \ n \ r \ nSource值:\ r \ nBB.LMS.Services.Core。 Models.Stars.case&#34;   }

固定:正如谢尔盖L正确指出的那样,我没有映射案例 - &gt;案例一旦被映射,我的代码就开始了!

1 个答案:

答案 0 :(得分:2)

错误表示automapper需要配置才能映射。

这是一种方法:

    public BB.LMS.Models.CaseExport ConvertStarsCaseExportToCaseExport(BB.LMS.Services.Core.Models.Stars.caseexport caseExport)
    {
        var config = new MapperConfiguration(cfg =>
            {
                 cfg.CreateMap<BB.LMS.Services.Core.Models.Stars.caseexport, CaseExport>();
            });
        var mapper = config.CreateMapper();
        var ConvertedCase = mapper.Map<BB.LMS.Services.Core.Models.Stars.caseexport, BB.LMS.Models.CaseExport>(caseExport);
        return ConvertedCase;
    }