NHibernate FK является CHAR (6), и различные запросы не выполняются из-за того, что дочерняя таблица PK является CHAR (6) - PullRequest
0 голосов
/ 09 декабря 2008

У меня есть устаревшая база данных Oracle, которая имеет несколько таблиц поиска 1: n, основанных на первичных ключах CHAR (6) в дочерних таблицах. К сожалению, я не единственный, у кого проблемы с тем, как NHibernate работает с полями char (особенно с теми, которые являются первичными ключами). См:

Я собираюсь реализовать пользовательский тип для решения проблем, но хотел проверить, есть ли лучший способ, так как все еще есть некоторая путаница в том, как обрабатывать поля char как ключи в session.Get ) ... и session.Load () ... (и поэтому, поскольку эти таблицы являются центральными для нашего приложения, я хочу убедиться, что их не нужно переделывать). Я уверен, что я не единственный, кто столкнулся с этим, и я был бы очень признателен за любые рекомендации более опытных пользователей NHibernate.

Чтобы сделать вещи более интересными, использование NHibernate с Oracle действительно бросает некоторые кривые, которых я не ожидал.

1 Ответ

0 голосов
/ 09 декабря 2008

Похоже, что обновление до 2.0.1 GA решило большинство проблем (если они не были проблемами для меня, что-то неправильно настроило). Ленивые загрузки прекрасно работают с внешними ключами, даже если они char (6), но длина меньше 6. session.Get и session.Load также работают нормально, даже если вы добавляете конечные пробелы.

Я мог бы все еще реализовать UserType, чтобы избавиться от конечных пробелов для отображения.

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