Отображение вложенных списков с помощью автомпера - PullRequest
0 голосов
/ 13 марта 2019

Это мои настройки класса. Как отобразить только Invalid = false для элементов DTOReportObservation и DTOReportObservationLocation?

reports = Mapper.Map<List<Report>, List<DTOReport>>(userReports);

    public class DTOReport
    {
        public List<DTOReportObservation> Observations;
    }

        public class DTOReportObservation
    {
        public Guid ReportObservationID { get; set; }
        public Guid ReportID { get; set; }
        public bool Invalid { get; set; }

        public List<DTOReportObservationLocation> ObservationLocations;
    }

     public class DTOReportObservationLocation
    {
        public Guid ReportObservationLocationID { get; set; }
        public Guid ReportObservationID { get; set; }
        public bool Invalid { get; set; }
    }

 CreateMap<Report, DTOReport>(MemberList.Source)
                .ForMember(d => d.Observations, opt => opt.MapFrom(src => src.ReportObservations))
                //??ReportObservations.Locations

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Для отображения только в том случае, если неверное значение равно false, вы можете использовать условное отображение.https://automapper.readthedocs.io/en/latest/Conditional-mapping.html.

Для получения дополнительной информации о списках см. Здесь в документации о коллекциях.https://automapper.readthedocs.io/en/latest/Lists-and-arrays.html

0 голосов
/ 20 марта 2019

С помощью Autopper вам не нужно создавать карты списков. Вы просто создаете карту из одного типа в другой и позволяете autopper перебирать коллекции.

Можете ли вы также уточнить, что вы подразумеваете под Invalid = false, поскольку Invalid является типом guid.

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