Как я могу сказать NHibernate рассматривать пустую строку FK как NULL? - PullRequest
1 голос
/ 25 июля 2011

Я работаю над устаревшей базой данных с некоторыми "интересными" структурами. У меня есть таблица «Операция» с пустым столбцом строки под названием «PersonnelID». Этот столбец указывает на таблицу под названием «Персонал» с целочисленным столбцом первичного ключа. У NHibernate нет проблем, когда столбец PersonnelID представляет собой целое число, представленное в виде строки, или NULL, но он взрывается, когда этот столбец содержит пустую строку (или что-нибудь еще в этом отношении. Хотя это имеет смысл, я хотел бы сделать достаточно умен, чтобы распознать, когда можно использовать значение «PersonnelID» для загрузки связанного с ним персонала, а когда рассматривать это значение как мусор. Куда бы я ввел свою логику? Похоже на IUserType, но не совсем.

1 Ответ

2 голосов
/ 26 июля 2011

Вы можете установить атрибут not-found="ignore" для много-к-одному. Из документации:

not-found (необязательно - по умолчанию исключение): указывает, насколько иностранным ключи, которые ссылаются на пропущенные строки, будут обработаны: ignore будет обрабатывать пропущенная строка как нулевая ассоциация.

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