【问题标题】:Automapper & Entity Framework mapping complex relations suggestionsAutomapper & Entity Framework 映射复杂关系建议
【发布时间】:2019-09-13 10:15:00
【问题描述】:

我正在尝试映射一个复杂的实体类型,但在涉及嵌套关系时遇到了一些问题。

基本上这是我的 EF 实体:

 public partial class LDT001002_FILE_MST
    {
        public LDT001002_FILE_MST()
        {
            this.LDT001201_FILE_STATUS_DTL = new HashSet<LDT001201_FILE_STATUS_DTL>();
    ... }
        public virtual ICollection<LDT001201_FILE_STATUS_DTL> LDT001201_FILE_STATUS_DTL { get; set; }

这是 LDT001201_FILE_STATUS_DTL:

    public partial class LDT001201_FILE_STATUS_DTL
    {
        public System.Guid FILE_STATUS_DTL_ID { get; set; }
    ...
    }

这是与自动映射器一起使用的视图模型:

 public class GeneralInformation
    {
    ...
        public List<FileStatuses> FileStatuses { get; set; }
    ...
    }

  public class FileStatuses : GeneralInformation { 

        public Guid FILE_STATUS_DTL_ID { get; set; }
        [DisplayName("Date Initiated")]

}

I tried multiple CreateMap configurations but all throw unmapped errors about the object on Mapper.Map for these 2 models... any suggestions from Automapper veterans are welcome!

【问题讨论】:

    标签: c# list automapper hashset flatten


    【解决方案1】:

    解决方案:

    1. 将哈希集映射到列表 一般信息>()
    cfg.CreateMap<LDT001002_FILE_MST, 
        .ForMember(dest => dest.FileStatus, opt => opt.MapFrom(
            src => src.LDT001201_FILE_STATUS_DTL));
    
    1. 将外部引用映射到列表:
     cfg.CreateMap<LDT001201_FILE_STATUS_DTL, FileStatuses>()
        .ForMember(dest => dest.LOC_ID, opt => opt.MapFrom(src => src.LDT001013_LOC_MST.LOC_ID))
        .ForMember(dest => dest.LOC_NM, opt => opt.MapFrom(src => src.LDT001013_LOC_MST.LOC_NM))
        .ForMember(dest => dest.STATUS_ID, opt => opt.MapFrom(src => src.LDT001601_STATUS_LKP.STATUS_ID))
        .ForMember(dest => dest.STATUS_NM, opt => opt.MapFrom(src => src.LDT001601_STATUS_LKP.STATUS_NM));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多