我有一个班级:
public class LearnerEvent
{
public string SubjectField { get; set; }
public string GradeField { get; set; }
public DateTime AchievementAwardDateField { get; set; }
public string QualificationTypeField { get; set; }
}
我想将此映射到DTO:
public class LearnerEventDto
{
public List<LearnerEventInfoDto> LearnerEventInfo { get; set; }
public string QualificationTypeField { get; set; }
}
有一个sub-dto:
public class LearnerEventInfoDto
{
public string SubjectField { get; set; }
public string GradeField { get; set; }
public DateTime AchievementAwardDateField { get; set; }
}
目的是这样我可以在组中显示对象,即。按奖励类型分组。
我知道我可能要编写一个自定义映射器(使用automapper),但我不知道该怎么做。
答案 0 :(得分:0)
您想要的映射意味着该列表中的每个InfoDTO对象都必须具有相同的QualificationType,这意味着您已经将LearnerEvents过滤为特定类型。不需要将QualificationType写入“DTO列表”。
我猜你正在使用DTO,因为你不想分发LearnerEvent类,或者因为你想要过滤你未在示例中显示的某些信息,所以我要做的就是使用您要传输的LearnerEvent中的字段创建LearnerEventDTO,将它们放入List并将它们发送到任何您想要的位置。
另一方可以通过在任何元素上查找来确定QualificationType,并且这些项目应该具有相同的QualificationType。