Я создаю простое приложение MVC4
У меня есть автомаппер
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Stringphoneno));
IntphoneNo имеет тип данных int ( IntphoneNo является переменной моего класса Person
) Исходный атрибут Stringphoneno имеет тип данных string .
Когда я сопоставляю, я получаю следующую ошибку.
Исключение типа «AutoMapper.AutoMapperMappingException» возникло в AutoMapper.dll, но не было обработано в пользовательском коде.
Но когда я меняю тип данных IntphoneNo с 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), мой код не работает. Есть ли способ обрезать пробелы в Stringphoneno (Stringphoneno, который я получаю от веб-сервиса) в automapper.
Что-то вроде ниже..
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.IntphoneNo,
opt => opt.MapFrom(src => src.Trim(Stringphoneno)));