AutoMapper 10.0使用教程 - OneByOneDotNet - 博客园
很麻烦的写法,要把每个可能的变量都写一遍,但是以后用到的时候就省事了,要不然string要是null的话写数据库就会报错
var configuration = new MapperConfiguration(cfg => {
cfg.CreateMap<SettingResultDto ,SettingResultTableDto>().ForMember(destination => destination.ImeiStr, opt => opt.NullSubstitute(""));
cfg.CreateMap<SettingRequest, SettingTableDto>();
});
这种方法很好,但是我这里提示错误
Mapper.CreateMap<Dto, Model>().ForAllMembers(m => m.Condition(ctx =>
ctx.SourceType != typeof (string)
|| ctx.SourceValue != string.Empty));
base.CreateMap<ViewModel, Domain>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
//.ForAllMembers(opt => opt.Ignore()) //returns void
.ReverseMap();
c.CreateMap<A, B>().ForAllOtherMembers(o=>
{
if(((PropertyInfo)o.DestinationMember).PropertyType == typeof(string))
{
o.MapFrom(s=>"default");
}
});
.ForMember(dest => dest.field, act => act.MapFrom(src => String.IsNullOrEmpty(src.field) ? "N/A" : src.field))
这参考了下面的文章