2016-05-13 93 views
0

我试图运行测试来检查映射是否正确,但是每次运行调试程序时我都会得到一个AutoMapperMappingExceptionAutoMapper异常将一个DTO转换为另一个对象

我的代码:

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); 

例外:

{ “缺失型地图配置或不支持的映射\ r \ n \ r \ nMapping类型:\ r \ ncase - > Case \ r \ nBB.LMS.Services.Core.Models.Stars.case - > BB.LMS.Models.Case \ r \ n \ r \ n目标路径:\ r \ nCaseExport.solicitor。 solicitor.case.case \ r \ n \ r \ n源值:\ r \ nBB.LMS.Services.Core.Models.Stars.case” }

FIXED:作为塞吉大号正确地指出,我没有映射的情况下 - >案例曾经映射我的代码工作的一种享受!

+0

有什么异常?你能把它包含在你的问题中吗? – Nasreddine

+0

刚刚添加更新了这个问题。 –

+0

您应为BB.LMS.Services.Core.Models.Stars.caseexport类定义您的模型的BB.LMS.Services.Core.Models.Stars.case和其他类的映射。 –

回答

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; 
    } 
+0

@ kayess修复它 – Yvain

相关问题