Trim Automapper 中的字符串
Trim String In Automapper
Mapper.CreateMap<DataViewModel, DataSource>()
My Source Here 包含来自用户界面的字符串值。我想 trim 所有字符串,然后再将其映射到目标对象。找不到解决方案。任何人都知道如何做到这一点
这可以使用 ForMember
方法完成,如下所示:
Mapper.CreateMap<DataViewModel, DataSource>()
.ForMember(x => x.YourString, opt => opt.MapFrom(y => y.YourString.Trim()));
如果你想 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()));
虽然这可以完成工作,但我建议在应用程序的其他地方执行输入清理,因为它不属于映射。
您也可以使用AddTransform
CreateMap<DataViewModel, DataSource>()
.AddTransform<string>(s => string.IsNullOrWhiteSpace(s) ? "" : s.Trim());
Mapper.CreateMap<DataViewModel, DataSource>()
My Source Here 包含来自用户界面的字符串值。我想 trim 所有字符串,然后再将其映射到目标对象。找不到解决方案。任何人都知道如何做到这一点
这可以使用 ForMember
方法完成,如下所示:
Mapper.CreateMap<DataViewModel, DataSource>()
.ForMember(x => x.YourString, opt => opt.MapFrom(y => y.YourString.Trim()));
如果你想 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()));
虽然这可以完成工作,但我建议在应用程序的其他地方执行输入清理,因为它不属于映射。
您也可以使用AddTransform
CreateMap<DataViewModel, DataSource>()
.AddTransform<string>(s => string.IsNullOrWhiteSpace(s) ? "" : s.Trim());