Aug 5, 2014
3 mins read
public class DemoModel { public int CustId { get; set; } public string CustName { get; set; } public bool CustGender { get; set; } }
public class DemoViewModel { public int Id { get; set; } public string Name { get; set; } public string FullName { get; set; } public string Gender { get; set; } public DateTime Date { get; set; } }
public class Class1 { public void GetViewModel() { Mapper.CreateMap<DemoModel, DemoViewModel>() .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.CustName)) .ForMember(dest => dest.FullName, opt => opt.MapFrom(src => string.Format("{0}:{1}", src.CustId, src.CustName))) .ForMember(dest => dest.Gender, opt => opt.ResolveUsing<GenderResolver>().FromMember(src => src.CustGender)) .ForMember(dest => dest.Date, opt => opt.UseValue<DateTime>(DateTime.Now));DemoModel model = new DemoModel { CustId = 123, CustName = "abc", CustGender = true }; DemoViewModel viewModel = Mapper.Map<DemoModel, DemoViewModel>(model); Console.WriteLine("id:{0}, name:{1}, fullname:{2}, gender:{3}, date:{4}", viewModel.Id, viewModel.Name, viewModel.FullName, viewModel.Date, viewModel.Gender); } private class GenderResolver : ValueResolver<bool, string> { protected override string ResolveCore(bool source) { return source ? "男" : "女"; } }
}
Sharing is caring!