Я использую Fluent NHibernate и имею некоторые проблемы, связанные с настройкой многих или многих отношений с одним из моих классов. Это, наверное, глупая ошибка, но я застрял, пытаясь заставить ее работать. В любом случае, у меня есть пара классов, у которых есть отношения Many-Many.
public class Person
{
public Person()
{
GroupsOwned = new List<Groups>();
}
public virtual IList<Groups> GroupsOwned { get; set; }
}
public class Groups
{
public Groups()
{
Admins= new List<Person>();
}
public virtual IList<Person> Admins{ get; set; }
}
С изображением, похожим на это
Лицо:...
HasManyToMany<Groups>(x => x.GroupsOwned)
.WithTableName("GroupAdministrators")
.WithParentKeyColumn("PersonID")
.WithChildKeyColumn("GroupID")
.Cascade.SaveUpdate();
Группы:...
HasManyToMany<Person>(x => x.Admins)
.WithTableName("GroupAdministrators")
.WithParentKeyColumn("GroupID")
.WithChildKeyColumn("PersonID")
.Cascade.SaveUpdate();
Когда я запускаю свой интеграционный тест, я в основном создаю нового человека и группу. Добавление группы в Person.GroupsOwned. Если я возвращу объект Person обратно из репозитория, GroupOwned будет равен исходной группе, однако, когда я получу группу обратно, если я проведу кол-во на Group.Admins, счет будет равен 0. Таблица Join имеет идентификатор GroupID и В нем сохранен личный идентификатор.
Спасибо за любые советы, которые у вас могут быть.