Нет, обратное не помогает.
вам нужно указать, что вы хотите делать со слушателями. Есть в основном два варианта:
- сообщить пользователю, что вокруг есть слушатели, и он не может удалить этот объект
- отменить регистрацию слушателей с помощью программного обеспечения.
Если вы решили отменить регистрацию слушателей, тогда ... просто реализуйте это.
InvoerItem itemToDelete = ...;
itemToDelete.Listeners.Clear();
session.Delete(itemToDelete);
Было бы еще лучше позволить сущности управлять слушателями:
itemToDelete.UnregisterListeners();
Редактировать : если у вас есть ссылки от слушателей на invoerItems, вам также необходимо удалить их:
public void UnregisterListeners()
{
foreach(Listener listener in Listeners)
{
listener.Invoeritem = null;
}
Listeners.Clear();
}
Кстати: в этом случае вы должны сделать слушателей обратными. Не забудьте сопоставить его с тем же внешним ключом.