3
나는이 두 클래스를 매핑하려고 몇 가지 문제가 있어요 (제어 -> ControlVM는)Automapper를 사용하여 컬렉션을 컬렉션 컨테이너에 매핑하는 방법은 무엇입니까?
public class Control
{
public IEnumerable<FieldType> Fields { get; set; }
public class FieldType
{
//Some properties
}
}
public class ControlVM
{
public FieldList Fields { get; set; }
public class FieldList
{
public IEnumerable<FieldType> Items { get; set; }
}
public class FieldType
{
//Properties I'd like to map from the original
}
}
나는 opt.ResolveUsing(src => new { Items = src.Fields })
과 노력하지만 분명히 AutoMapper은 익명의 유형을 확인할 수 없습니다. 또한 ValueResolver
을 시도했지만 작동하지 않았습니다.
참고 :이 VM은 나중에 WebApi에서 사용되며 JSON.NET에서는 컬렉션을 정리하는 데 필요한 래퍼가 필요합니다. 따라서 래퍼를 제거하는 것은 해결책이 아닙니다.
참고 2 : 또한 Mapper.CreateMap<Control.FieldType, ControlVM.FieldType>()
을 수행 중이므로 문제가 없습니다.
대 : 여기에 다른 방법을지도하는 방법! 마지막 CreateMap 없이도 작동합니다. (AutoMapper는 항상 같은 이름의 속성을 매핑하려고합니다.) – faloi
@faloi : 좋은 지적으로, 그 매핑을 꺼내겠습니다. –
어떻게 역 매핑을 수행 하시겠습니까? (ControlVM.FieldList -> IEnumerable). AutoMapper가 "AutoMapper.AutoMapperConfigurationException : 멤버의 사용자 지정 구성은 유형의 최상위 개별 멤버 만 지원됩니다." –
faloi