要在使用 AutoMapper 库时成功映射数据对象中的 ICollection 属性,需要手动映射ICollection。因为它需要一个解析器,以明确指定要映射的集合类型。比如,我们可以使用以下代码片段来自定义映射:
在 AutoMapper 配置文件中添加以下代码:
CreateMap()
.ForMember(dest => dest.ChildEntities, opt => opt.MapFrom(src => src.ChildEntities));
接下来,在 DTO 类中手动 map ICollection:
public class ParentDTO
{
public ICollection ChildEntities { get; set; }
}
之后,映射 ICollection 属性时将使用自己的映射。