在Automapper中修剪字符串

时间:2015-01-23 19:42:09

标签: asp.net-mvc orm automapper datamapper asp.net-mvc-5.1

Mapper.CreateMap<DataViewModel, DataSource>()

My Source Here包含字符串值来自用户界面。我想在将其映射到目标对象之前修剪所有字符串。无法找到解决方案。任何人都知道如何做到这一点

1 个答案:

答案 0 :(得分:4)

这可以使用ForMember方法完成,如下所示:

Mapper.CreateMap<DataViewModel, DataSource>()
.ForMember(x => x.YourString, opt => opt.MapFrom(y => y.YourString.Trim()));

如果要修剪多个属性,可以链接.ForMember()方法,如下所示:

Mapper.CreateMap<DataViewModel, DataSource>()
.ForMember(x => x.YourString, opt => opt.MapFrom(y => y.YourString.Trim()))
.ForMember(x => x.YourString1, opt => opt.MapFrom(y => y.YourString1.Trim()))
.ForMember(x => x.YourString2, opt => opt.MapFrom(y => y.YourString2.Trim()));

虽然这可以完成工作,但我建议您在应用程序的其他位置执行输入消毒,因为它不属于映射。