У меня есть два объекта, которые имеют отношения ManyToMany друг с другом через таблицу сопоставления.Однако, когда я пытаюсь сохранить его, я получаю исключение переполнения стека.Ниже приведен код для сопоставлений:
//EventMapping.cs
HasManyToMany(x => x.Performers).Table("EventPerformer").Inverse().Cascade.AllDeleteOrphan().LazyLoad().ParentKeyColumn("EventId").ChildKeyColumn("PerformerId");
//PerformerMapping.cs
HasManyToMany<Event>(x => x.Events).Table("EventPerformer").Inverse().Cascade.AllDeleteOrphan().LazyLoad().ParentKeyColumn("PerformerId").ChildKeyColumn("EventId");
Когда я изменяю Performermapping.cs на Cascade.None (), я избавляюсь от исключения, но тогда в моем объекте Event нет связанного исполнителяс этим.
//In a unit test, paraphrased
event.Performers.Add(performer); //Event
eventRepository.Save<Event>(event);
eventResult = eventRepository.GetById<Event>(event.id); //Event
eventResult.Performers[0]; //is null, should have performer in it
Как я должен писать это правильно?Спасибо