Я использую NHibernate (свободно) для доступа к старой сторонней базе данных с кучей таблиц, которые никак не связаны между собой. То есть дочерние таблицы имеют столбцы parentID, которые содержат первичный ключ родительской таблицы, но нет никаких отношений внешнего ключа, обеспечивающих эти отношения. В идеале я хотел бы добавить несколько внешних ключей, но не могу коснуться схемы базы данных.
Мое приложение работает нормально, но мне бы очень хотелось навязать правило ссылочной целостности, которое запретило бы удаление родительских объектов, если у них есть дети, например что-то похожее на «УДАЛЕННОЕ ОГРАНИЧЕНИЕ», но поддерживается NHibernate.
Любые идеи о том, как подойти к этому, будут оценены. Стоит ли искать метод OnDelete () в интерфейсе IInterceptor или есть другие способы решить эту проблему?
Конечно, любое решение может привести к снижению производительности, но я могу с этим смириться.