我有一个数据库对象,它有一个属性字典,我需要将其映射到新对象中的列表对象。我的结构(简化)如下所示:
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 --> dtoObject.CustomProperties
这可以通过 AutoMapper 实现吗?
最佳答案
您可以使用:
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)));
关于c# - 使用 AutoMapper 将字典的值映射到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39705044/