[英]Automapper map Viewmodel to Model with same name
Viewmodel 视图模型
public string Personal_Data_Surname { get; set; }
public string FamilyMember_SurName { get; set; }
Entity class Applicant 实体类申请人
public string SurName { get; set; }
Entity class FamilyMember 实体类FamilyMember
public string SurName { get; set; }
Automapper Config 自动映射器配置
Mapper.Configuration.RecognizePrefixes("Personal_Data_");
Mapper.CreateMap<ApplicationViewModel, Applicant>();
Mapper.Configuration.RecognizePrefixes("FamilyMember_");
Mapper.CreateMap<ApplicationViewModel, FamilyMember>();
Controller code mapping entities 控制器代码映射实体
Applicant applicant = Mapper.Map<ApplicationViewModel, Applicant>(vaModel);
FamilyMember familyMember = Mapper.Map<ApplicationViewModel, FamilyMember>(vaModel);
The problem is that it maps Personal_Data_Surname from the viewmodel to the Surname in entity class Applicant and FamilyMember. 问题在于,它会将ViewModel中的Personal_Data_Surname映射到实体类Applicant和FamilyMember中的Surname。 Is it possible to specify a prefix for a specific type
是否可以为特定类型指定前缀
You have to customize your mapping using ForMemeber
method, with the MapFrom
option method, for sample: 您必须使用
ForMemeber
方法和MapFrom
选项方法来自定义样本:
Mapper.CreateMap<ApplicationViewModel, Applicant>()
.ForMember(viewModel => viewModel.Personal_Data_Surname,
opt => opt.MapFrom(entity => entity.SurName));
Then, AutoMapper will map the Personal_Data_Surname
viewModel's property to SurName
entity's property. 然后,AutoMapper将把
Personal_Data_Surname
viewModel的属性映射到SurName
实体的属性。 Do it to another entities. 对另一个实体进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.