MVC AutoMapper模型不同?

MVC AutoMapper models are different?

如果我尝试映射只有 5 个属性的 ModelMetadata 而 .edmx 中的 Model.cs 包含 50 个属性,Automapper 会工作吗?

我基本上创建了一个 ModelMetadata 来自定义五个属性的数据注释,但我想知道 Automapper 是否只映射 5 个字段而不是所有 50 个属性有问题?

如果我只决定将记录的 5 个属性更新到数据库,它会忽略其他 45 个属性吗?

Automapper 为您提供自动 属性 映射,即如果 属性 在源和目标上相同,它将映射。源和目标上不匹配的其他内容将被忽略。您还可以明确告诉它如何使用 ForMember 进行映射,例如

Mapper.CreateMap<CalendarEvent, CalendarEventForm>()
.ForMember(dest => dest.EventDate, opt => opt.MapFrom(src => src.EventDate.Date))   
.ForMember(dest => dest.EventHour, opt => opt.MapFrom(src => src.EventDate.Hour))   
.ForMember(dest => dest.EventMinute, opt => opt.MapFrom(src => src.EventDate.Minute));

上面的示例是从 codeplex 项目站点中提取的,它适当地充实了这一点 here