Kou*_*aha 3 asp.net-mvc orm datamapper automapper asp.net-mvc-5.1
Mapper.CreateMap<DataViewModel, DataSource>()
Run Code Online (Sandbox Code Playgroud)
我的源代码包含来自用户界面的字符串值。我想在将所有字符串映射到目标对象之前修剪所有字符串。无法为此找到解决方案。任何人都知道这是如何做到的
这可以使用该ForMember方法完成,如下所示:
Mapper.CreateMap<DataViewModel, DataSource>()
.ForMember(x => x.YourString, opt => opt.MapFrom(y => y.YourString.Trim()));
Run Code Online (Sandbox Code Playgroud)
如果你想修剪多个属性,你可以.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()));
Run Code Online (Sandbox Code Playgroud)
虽然这可以完成工作,但我建议在应用程序的其他地方执行输入清理,因为它不属于映射。
您还可以使用AddTransform
CreateMap<DataViewModel, DataSource>()
.AddTransform<string>(s => string.IsNullOrWhiteSpace(s) ? "" : s.Trim());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4207 次 |
| 最近记录: |