Явное расширение AutoMapper и дочерние свойства - PullRequest
0 голосов
/ 08 апреля 2020

В настоящее время мы используем AutoMapper 5.1.1 и используем функцию Explicit Expansion. У меня есть класс как Loan, который имеет свойство как LoanTypeId-> int и другое свойство, которое имеет тип, называемый Property. В некоторых случаях мы хотим получить все, что есть в собственности, которая является улицей и городом, а в некоторых случаях мы хотим получить только улицу. Возможно ли это? Потому что, если я понимаю, мы должны передать «Property» что-то вроде этого, что бы получить все из Property.

 _loanRepository.Value.GetById(request.EntityId)
            .ProjectTo<DataAttributeResponse>(mapperConfiguration, null, new[] { "LoanTypeId", "Property" })

 CreateMap<Model.Property, Property>()                
            .ForMember(d => d.Street, src => src.MapFrom(l => l.Street))
            .ForMember(d => d.City, src => src.MapFrom(l => l.City));

CreateMap<Model.Loan, DataAttributeResponse>()
 .ForMember(d => d.LoanTypeId, src => src.MapFrom(l => l.LoanTypeID))
 .ForMember(d => d.Property, src => src.MapFrom(l => l.Property))
 .ForAllMembers(opt => opt.ExplicitExpansion());  
...