NHibernate удалить объект - проверить ссылки - PullRequest
0 голосов
/ 10 августа 2011

Существует ли общее решение для проверки ссылок, когда пользователь удаляет объект, и его нельзя удалить, поскольку на него есть ссылки?Я ищу решение, которое работает в любой ситуации.Пользователь пытается удалить, я могу проверить свой DataAccess-Layer и дать пользователю сообщение «Объект не может быть удален, потому что есть ссылки».Как вы решаете эту проблему?

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Если вам не нужно знать, что такое ссылки, вы можете перехватить исключение FK в вашем DAL и поместить его на свой уровень Service в ReferencedObjectsException с соответствующим сообщением об ошибке.

В противном случае выпридется посмотреть на сопоставления (по коду), определить ссылки (по коду) и проверить наличие зависимостей (по коду).

Rhino.Security имеет здесь часть переписывания Mapping: https://github.com/ayende/rhino-security/blob/master/Rhino.Security/Impl/MappingRewriting/UserMapper.cs, из объекта конфигурации NHibernate у вас есть доступ к сопоставлениям классов.

0 голосов
/ 10 августа 2011

Вам необходимо отобразить связанные объекты и включить параметр cascade='all-delete-orphan'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...