我正在创建一个简单的 MVC4 应用程序
我有一个自动映射器
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Stringphoneno));
IntphoneNo是 DataType int(IntphoneNo 是我的类的一个变量Person
) 源属性Stringphoneno是 Datatype字符串。
当我映射时,我得到以下错误。
AutoMapper.dll 中出现“AutoMapper.AutoMapperMappingException”类型的异常,但未在用户代码中处理
但是当我将 IntphoneNo 的Dataype 从int更改为string时 ,我的程序运行成功。
不幸的是,我无法更改模型中的数据类型
有什么方法可以更改映射中的 Datatupe .. 如下所示
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Int32(Stringphoneno));
经过一番研究,我更进一步..
如果我的 StringPhoneNo 是 = 123456
,那么下面的代码就可以工作了。我不需要将其解析为字符串
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Stringphoneno));
但是当我的 StringPhoneNo 为 = 12 3456 ( 12 之后有一个空格)时,我的代码不起作用。有什么方法可以在 automapper.xml 中修剪 Stringphoneno 中的空格(我从 web 服务获取的 Stringphoneno)。
像下面的东西..
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Trim(Stringphoneno)));