Създавам просто MVC4 приложение
Имам автоматичен картограф
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Stringphoneno));
IntphoneNo е от DataType int (IntphoneNo е променлива от моя клас Person
) Изходният атрибут Stringphoneno е от DataType string .
Когато картографирам, получавам следната грешка.
Възникна изключение от тип „AutoMapper.AutoMapperMappingException“ в AutoMapper.dll, но не беше обработено в потребителския код
Но когато променям Dataype на IntphoneNo от int на string, програмата ми работи успешно.
За съжаление не мога да променя Datatype в моя модел
Има ли някакъв начин да промените 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), тогава кодът ми не работи. Има ли някакъв начин за изрязване на интервали в Stringphoneno (Stringphoneno получавам от уеб услуга) в automapper.
Нещо като по-долу..
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Trim(Stringphoneno)));