[英]Mapping nested lists with automapper
這是我的課程設置。 如何僅將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
使用自動映射器,您無需創建列表映射。 您只需創建從一種類型到另一種類型的映射,然后讓自動映射器遍歷集合。
您是否還可以澄清一下Invalid = false的含義,因為Invalid是一種GUID類型。
對於僅當invalid為false時的映射,您可以使用條件映射。 https://automapper.readthedocs.io/en/latest/Conditional-mapping.html 。
有關列表的更多信息,請參見文檔中有關集合的信息。 https://automapper.readthedocs.io/en/latest/Lists-and-arrays.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.