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
,但也沒有工作。
NOTE:該虛擬機稍後在WebApi中使用,並且JSON.NET需要對該集合進行封裝來正確地反序列化它。所以刪除包裝不是一個解決方案。
NOTE2:我也在做Mapper.CreateMap<Control.FieldType, ControlVM.FieldType>()
,所以問題不在那裏。
太好了!它也可以在沒有最後一個'CreateMap'的情況下工作(AutoMapper總是試圖映射具有相同名稱的屬性) – faloi
@faloi:好點,我會把這個映射出去。 –
你將如何執行逆映射? (ControlVM.FieldList - > IEnumerable)。 AutoMapper拋出「AutoMapper.AutoMapperConfigurationException:成員的自定義配置只支持頂級單個成員的類型。」 –
faloi