2016-09-26 2 views
1

У меня есть модель и readmodel:Игнорировать вложенное свойство - AutoMapper

RequestModel:

id: number: 

RequestReadModel:

id: number; 
versionInfo: VersionInfoReadModel 

VersionInfoReadModel:

id: number; 
latestRequestId: number; 

RequestReadModel:

id: number; 
versionInfo: VersionInfoReadModel 

Так что, когда я пытаюсь сопоставить мою модель с этим кодом:

CreateMap<Request, RequestReadModel>() 

Я получаю сообщение об ошибке, что VERSIONINFO не отображается, что является нормальной ошибкой. Но проблема в том, что мне нужно игнорировать эти свойства. Когда я пытаюсь игнорировать readmodel с этим кодом:

CreateMap<Request, RequestReadModel>() 
.ForMember(x => x.VersionInfo, y => y.MapFrom(model => model)); 

Я получаю эту ошибку

"сообщение": "Произошла ошибка", "exceptionMessage": «Объект ссылка не указывает на экземпляр объекта ", „ExceptionType.“:„System.NullReferenceException“,

И когда я пытаюсь отобразить свойства вручную, я получаю сообщение об ошибке, что вы не можете отобразить указанные в другом месте ted.

Кто-нибудь знает, как я могу решить эту проблему?

Спасибо, Brent

+0

Какие переменные-члены класса Request, Кроме того, что версия автоматического картографа, который вы используете? –

+0

@PrasanthVJ Переменные-члены в классе запроса все одинаковы, кроме как на readmodel есть versionInfo (без корректной работы versionInfo). Версия, которую я использую, - 5.0.2.0 - –

+0

Предоставьте полный код для воспроизведения проблемы. –

ответ

0
CreateMap<RequestModel, RequestReadModel>().ForMember(d => d.versionInfo, o => o.Ignore());