自动映射在调试模式下运行良好,但在发布模式下抛出映射异常。

3

Automapper 是一个很好的工具。但是我遇到了一些问题。

在调试项目时,它能够正常工作,所有的映射操作都成功了。但是在发布模式下,使用完全相同的数据就会抛出 mappingexception 异常。

可能的问题是什么?

我的环境是 Win7,32 位,VS2010。项目使用的是 .net 4.0 版本。

 Mapper.CreateMap<V_Person_Details,Person>();
 Mapper.Map(curr_V_Person, cur_Person); /// exception throws here in just release mode , not in debug mode 
   ///Trying to map System.String to System.nullable .... Destination property  SSS_ID : exception of the Automapper.AutomapperMappingException was thrown.

 ....

1
mapping exception 是什么意思? - Tigran
尝试将 System.string 映射到 System.nullable'1,但在相同数据的调试模式下正常工作。 - Yaya
在我看来,你在调试和发布时绑定到不同的“数据库”。 - Tigran
2个回答

6

在调试模式下运行Mapper.AssertConfigurationIsValid()方法,以验证您是否存在仅在发布模式下显示的任何配置错误。


感谢所有的回答。最终我找到了原因。在vprsdetails表中,SSID数据存储为TEXT,而在prs表中,SSID数据存储为INTEGER。所以实际上,在DEBUG模式下它也应该抛出异常,但它没有抛出任何异常。所以在调试模式下它不会抛出任何异常。但在发布模式下,你可以清楚地看到一切。因此,检查错误详细信息和验证配置是一个好主意。 - Yaya

0

我们遇到了相同的问题。 在我们的服务器上(发布版),问题是AutoMapper dll的另一个版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接