2010-12-04 2 views
0

내 ViewModel에없는 DomainModel (CreatedOn, ModifiedOn)에 2 개의 필드가 있습니다. DomainModel에서 ViewModel로 매핑 할 때 어떻게 소스 필드에 무시할 수 있습니까? 코드를 수정하십시오.DomainModel에서 ViewModel 로의 매핑 무시

Mapper.CreateMap<DomainModel, ViewModel>() 
       .ForMember(d => d.CreatedOn, opt => opt.Ignore()) 
       .ForMember(d => d.ModifiedOn, opt => opt.Ignore()); 

답변

1

해당 입력란에 대해 아무 것도 지정할 필요가 없습니다. 그냥 :

Mapper.CreateMap<DomainModel, ViewModel>(); 

DM 그들은 단순히 무시됩니다 VM 사이에 매핑 할 때 CreatedOnModifiedOn 속성보기 모델에 존재하지 않는 경우.

0

필자는 AutoMapper가 해당 필드를 대상에 채우려 고 시도합니다. 대상에 소스에있는 필드가 없으면 맵핑이 완료된 후 해당 필드가 대상에 존재하지 않습니다.

그러나 대상에 필드가있는 경우 구문이 올바른 것처럼 보입니다 (비록 내가 본 모든 예제와의 일관성을 위해 - d => d 대신 dest => dest.CreatedOn 사용). .CreatedOn -하지만 나는 그것을 깰 것이라고 생각하지 않습니다.)

+0

d 속성 createdon 및 modifiedon 목록을 표시하지 않고 점을 누르면이 코드가 작동하지 않습니다. 이것은 d를 의미합니다. 항상 대상 필드를 표시합니다. 이제는 DM에서 VM으로 매핑 할 때 DomainModel 인 Source에서 Ignore 값을 무시하고 싶습니다. 그것에 어떤 해결책? – Pirzada

+0

해당 필드는 대상 (보기 모델)에 없기 때문에 Intellisense에 의해 나열되지 않습니다. 이 입력란은 소스 (도메인 모델)에있을 수 있지만 이미 무시되고 있습니다. – Mayo