Я пытаюсь сопоставить объект с объектом 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)
Почему? : -)