@ efdee
У меня была та же проблема, и я потратил на это почти два дня. У меня были отношения многие ко многим, и таблица ссылок также не обновлялась. Я новичок в NHibernate, просто пытаюсь выучить его, поэтому примите все, что я говорю, с долей соли.
Хорошо, оказалось, что это не Fluent NHibernate, ни отображение, но я не понимаю, как NHibernate работает со многими ко многим. В отношении «многие ко многим», если коллекции на обоих объектах не заполнены, NHibernate не сохраняет данные в таблицу ссылок.
Допустим, у меня есть эти сущности в отношениях многих ко многим:
partial class Contact
{
public string ContactName {get; set;}
public IList Locations {get; set;}
}
partial class Location
{
public string LocationName {get; set;}
public string LocationAddress {get;set;}
public IList Contacts {get;set;}
}
при добавлении в местоположение в Contact.Locations, я должен убедиться, что контакт также присутствует внутри location.Contacts.
чтобы добавить местоположение, у меня есть этот метод внутри моего класса Contact.
public void AddLocation(Location location)
{
if (!location.Contacts.Contains(this))
{
location.Contacts.Add(this);
}
Locations.Add(location);
}
Кажется, это решило мою проблему, но, как я уже сказал, я просто беру NHibernate и изучаю его, возможно, есть лучший способ. Если у кого-то есть лучшее решение, пожалуйста, напишите.
Этот пост указал мне проверить обе коллекции: http://www.coderanch.com/t/217138/Object-Relational-Mapping/link-table-of-ManyToMany-annotation