автомат со многими отношениями - PullRequest
0 голосов
/ 02 апреля 2019

Я застрял с настройкой следующего отношения многие ко многим в automapper с automapper.collection.Существующие объекты отображаются правильно, но новые DTO не добавляются в PersonXUnionList.Я использую те же классы для DTO, что и для сущностей.

Вот базовая структура:

public class Union
   {
       public int Id { get; set; }
       public List<PersonXUnion> PersonXUnionList { get; set; } = new List<PersonXUnion>();
}


   public class PersonXUnion
   {

       public int Id { get; set; }
       public int PersonId { get; set; }
       public Person Person { get; set; }

       public int UnionId { get; set; }
       public Union Union { get; set; }

   }


   public class Person
   {
       public int Id { get; set; }
       public List<PersonXUnion> PersonXUnionList { get; set; } = new List<PersonXUnion>();
   }

А вот часть конфигурации автоматического устройства, касающаяся этого отношения:

var config = new MapperConfiguration(cfg =>
            {
              cfg.AddCollectionMappers();
              cfg.CreateMap<Union, Union>()
                    .EqualityComparison((odto, o) => odto.Id == o.Id)
                    .ForMember(d => d.PersonXUnionList, o => o.MapFrom(s => s.PersonXUnionList))
                ;

    cfg.CreateMap<PersonXUnion, PersonXUnion>()
                    .EqualityComparison((odto, o) => odto.Id == o.Id)

                    .ForMember(dest => dest.Person,
                            m => m.MapFrom(clientJsonObj => 
                        _context.Person.FirstOrDefault(
                            contextDb => contextDb.Id == clientJsonObj.Person.Id)))

                    .ForMember(d => d.Union, o => o.MapFrom(s => s.Union))
                ;

    cfg.CreateMap<Person, Person>()
                    .EqualityComparison((odto, o) => odto.Id == o.Id)
                ;

}

Большое спасибо за любые советы!

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