Не увидев код сопоставления, трудно сказать точно, что происходит, но я предполагаю, что вы отображаете типы с помощью кода, подобного следующему:
Mapper.CreateMap<OrderItem, OrderItemDTO>()
.ForMember(dest => dest.VersionId, options => options.MapFrom(orderitem => orderitem.Version.VersionId))
.ForMember(dest => dest.VersionName, options => options.MapFrom(orderitem => orderitem.Version.VersionName))
;
Приведенный выше код не удастсякогда OrderItem.Version
равно нулю.Чтобы предотвратить это, вы можете проверить нулевое значение в делегатах, переданных на ForMember
:
Mapper.CreateMap<OrderItem, OrderItemDTO>()
.ForMember(dest => dest.VersionId, options => options.MapFrom(orderitem => orderitem.Version == null ? (int?) null : orderitem.Version.VersionId))
.ForMember(dest => dest.VersionName, options => options.MapFrom(orderitem => orderitem.Version == null ? null : orderitem.Version.VersionName))
;