Automapper IncludeMember из LINQ не работает - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь сопоставить объект с объектом DTO для контакта. Я хочу сопоставить адрес посещения по умолчанию, но в противном случае подойдет любой другой адрес. Когда я сопоставляю поля одно за другим, это работает, но я бы предпочел использовать IncludeMember, чтобы сгладить объект Address.

Так что это будет работать:

CreateMap<Contact, ContactLDTO>()      
    .ForMember(dest => dest.Street, org => org.MapFrom(src => src.ContactAddresses.OrderByDescending(ca => ca.IsVisitingAddress).FirstOrDefault().Address.Street))
    .ForMember(dest => dest.HouseNr, org => org.MapFrom(src => src.ContactAddresses.OrderByDescending(ca => ca.IsVisitingAddress).FirstOrDefault().Address.HouseNr))
    .ForMember(dest => dest.ZipCode, org => org.MapFrom(src => src.ContactAddresses.OrderByDescending(ca => ca.IsVisitingAddress).FirstOrDefault().Address.ZipCode))
    .ForMember(dest => dest.City, org => org.MapFrom(src => src.ContactAddresses.OrderByDescending(ca => ca.IsVisitingAddress).FirstOrDefault().Address.City))

Но это не будетработа:

CreateMap<Contact, ContactLDTO>()
    .IncludeMembers(s => (s.ContactAddresses.OrderByDescending(ca => ca.IsVisitingAddress).FirstOrDefault().Address)

Почему? : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...