我有一个数据库对象,它有一个属性字典,我需要映射到新对象中的列表对象。我的结构(简化)如下所示:
public class DbObject { // The source
public Dictionary<string, DbCustomProperty> customProperties;
}
public class DbCustomProperty {
public string Key;
public string Value;
}
public class DTOObject { // The destination
public List<DTOCustomProperty> DTOCustomProperties;
}
public class DTOCustomProperty {
public string Key;
public string Value;
}
如您所见,我想将DbObject(源代码)映射到DTOObject(目标)。问题是我的DBObject包含一个字典,其中值是我想要映射到列表的属性。
例如。 dBObject.CustomProperties.Values - &gt; dtoObject.CustomProperties
可以通过AutoMapper实现这一点吗?
答案 0 :(得分:2)
您可以使用:
AutoMapper.CreateMap<IGrouping<string, DbCustomProperty>, DTOCustomProperty>()
.ForMember(dest => dest.Key, opt => opt.MapFrom(src => src.Key))
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src.Value)));