C# 自动映射枚举集合到视图模型集合 AutoMapper 5.3.0 alpha(尚未升级到最新和最好的版本)
我的DTO如下所示:C# 自动映射枚举集合到视图模型集合 AutoMapper 5.3.0 alpha(尚未升级到最新和最好的版本),c#,automapper,C#,Automapper,我的DTO如下所示: public class AoACrudFieldValuesGdataHealthInput { public AoACrudFieldValuesGdataHealthInput() { PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>(); } public HashSet<HealthPrevHealthAssessm
public class AoACrudFieldValuesGdataHealthInput
{
public AoACrudFieldValuesGdataHealthInput()
{
PrevHealthAssessment = new HashSet<HealthPrevHealthAssessmentEnum>();
}
public HashSet<HealthPrevHealthAssessmentEnum> PrevHealthAssessment { get; set; }
}
我需要帮助扩展我的地图:
CreateMap<AoACrudFieldValuesGdataHealthInput, GdataHealthTableModel>();
CreateMap();
这样,AOACrudfieldValuesDataHealthInput.PrevHealthAssessment将在GdataHealthTableModel.PrevHealthAssessment中结束。目前我得到一个错误,因为我的CreateMap()不够详细-很自然
这可能吗?还是让绘图员忽略该字段,然后手动完成
注意:对于这两个EF POCO,为了简洁起见,我省略了自动递增的Id字段。为
HealthPreveHealthAssessmentEnum
->GDataHealthPreveAssessmentTableModel
定义一个附加映射:
CreateMap<AoACrudFieldValuesGdataHealthInput, GdataHealthTableModel>()
.ForMember(dest => dest.PrevHealthAssessment, o => o.MapFrom(src => src.PrevHealthAssessment));
CreateMap<HealthPrevHealthAssessmentEnum, GdataHealthPrevAssesmentTableModel>()
.ForMember(dest => dest.Id, o => o.Ignore()) // auto ID
.ForMember(dest => dest.Assessment , o => o.MapFrom(src => src));
CreateMap()
.ForMember(dest=>dest.PrevHealthAssessment,o=>o.MapFrom(src=>src.PrevHealthAssessment));
CreateMap()
.ForMember(dest=>dest.Id,o=>o.Ignore())//自动Id
.FormMember(目标=>目标评估,o=>o.MapFrom(src=>src));
我不确定AutoMapper是否可以将ICollection转换为现成的哈希集,我认为它可以
CreateMap<AoACrudFieldValuesGdataHealthInput, GdataHealthTableModel>();
CreateMap<AoACrudFieldValuesGdataHealthInput, GdataHealthTableModel>()
.ForMember(dest => dest.PrevHealthAssessment, o => o.MapFrom(src => src.PrevHealthAssessment));
CreateMap<HealthPrevHealthAssessmentEnum, GdataHealthPrevAssesmentTableModel>()
.ForMember(dest => dest.Id, o => o.Ignore()) // auto ID
.ForMember(dest => dest.Assessment , o => o.MapFrom(src => src));