Я использую NHibernate для подключения к БД для следующих классов:
Class A
{
public int Id{get;set;}
public List<B> InnerElements{get;set;}
}
Class B
{
public int Id{get;set;}
public string Description{get;set;}
...no reference to the parent
}
и в БД у меня есть таблицы As (для класса A), Bs (для класса b) и ABs, где таблица AB имеет автоинкрементный идентификатор и идентификаторы сущностей A и B.
Файлы конфигурации для классов:
Класс А
...other properties mapped
<bag name="InnerElements" table="ABs" cascade="all" inverse="true">
<key column="AID" />
<many-to-many class="B" column="BID"/>
</bag>
и в классе B я не имею никаких ссылок на класс A.
Когда я удаляю элемент B из InnerElements из сущности типа A и пытаюсь сохранить / обновить измененную сущность обратно в БД, внутренняя таблица AB остается неизменной.
Как я могу изменить (в файлах конфигурации или иным образом), чтобы удалить запись из внутренней таблицы? Я не хочу удалять любые записи A или B из БД.
Заранее спасибо,
Тамаш