2015-01-24 6 views
0

Automapper는 5 개의 속성 만있는 ModelMetadata를 매핑하려고하고 .edmx의 Model.cs에 말 50 개 속성이 포함되어 있으면 작동합니까?MVC AutoMapper 모델이 다릅니 까?

기본적으로 5 개의 속성에 대한 데이터 주석을 사용자 정의하기 위해 ModelMetadata를 만들었지 만 Automapper가 5 개의 필드 만 매핑하고 50 개의 속성을 모두 매핑하지 않는지 궁금합니다.

레코드의 5 가지 속성 만 데이터베이스로 업데이트하기로 결정한 경우 다른 45 가지 속성을 무시합니까?

답변

0

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)); 

위의 예제가 제대로 here

을이를 fleshes CodePlex의 프로젝트 사이트에서 검색
관련 문제