AutoMapper: Как проанализировать Int из строки и возможно ли создать правила на основе типа данных?
У меня есть две модели для моей формы, ViewModel, идущая к ней, и ControlModel, исходящая из нее. ControlModel имеет все те же имена полей и иерархию, но все поля имеют строковый тип данных.
Как бы вы кодировали AutoMapper для преобразования строкового поля в целое число? Я попытался Int32.Parse (myString), но Int32 не доступен в выражении (выдает ошибку).
Mapper.CreateMap<SourceClass, DestinationClass>()
.ForMember(dest => dest.myInteger,
opt => opt.MapFrom(src => src.myString));
Типы в классе и соответствующие им типы преобразования:
строка в int, int ?, double, double ?, DateTime и bool
Кроме того, есть ли способ обобщить сопоставления таким образом, чтобы все целые числа в цели были проанализированы с этой функцией? Другими словами, есть ли способ создать сопоставления для типов данных?
РЕДАКТИРОВАТЬ:
Это выглядит многообещающе:
AutoMapper.Mapper.CreateMap<string, int>()
.ConvertUsing(src => Convert.ToInt32(src));
РЕДАКТИРОВАТЬ: Этосообщение действительно полезно