Есть ли способ сопоставить родительский корневой класс, имеющий несколько классов списков, включая дочерние классы, используя Automapper? - PullRequest
0 голосов
/ 17 апреля 2019

Я могу создать успешное отображение, но отображается только один класс списка родительского корневого класса. Из приведенного ниже кода сопоставляется только класс «Обозначение списка», в то время как класс «Список настраиваемых полей» не выполняется.

Отображение: `

  cfg.CreateMap<Emp,Designation>()
  .ForMember(a => a.desigs, b => b.ResolveUsing(c => c.designations));

  cfg.CreateMap<Emp, Employment>()
   .ForMember(a => a.role, b => b.ResolveUsing(c => c..firstname));

  cfg.CreateMap<RootObjectSource, RootObjectDest>()
   .ForMember(a => a.Customfield, b => b.ResolveUsing(c => c.Emp));

  cfg.CreateMap<Emp, Customfield>()
   .ForMember(x => x.Customfield, y => y.MapFrom(x => x.Id));

Исходный класс:

 public class RootObjectSource
    {
        public List<Emp> employments{ get; set; }
    }

 public class Emp
    {
        public string Id{get; set;}
        public string Firstname{get; set;}
        public string Lastname{get; set;}
        public List<Desig> Desigs {get; set;}
    }

public class Desig
    {             
         public string role{ get; set; }
         public string salary{ get; set; }
    }

 Destination classes:

     public class RootObjectDest
      {
       public string principal{ get; set; }
       public List<Designation> designations{ get; set; }
       public List<Customfield> Customfield { get; set; }
      }

  public class Designation
     {             
              public List<Employment> employment { get; set; }
              public string role{ get; set; }
              public string salary{ get; set; }
     }
   public class Employment
    {
        public string Firstname{ get; set; }
        public string Lastname{ get; set; }
    }  
    public class Customfield
    { 
      public string stringfield{ get; set; }

    } 

нам нужно отобразить все списки классов целевого класса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...