NHibernate и <version/> для иерархии классов
От: Keith  
Дата: 08.07.09 13:33
Оценка:
Есть следующий маппинг:


По совету GarryIV пробую использовать метод Lock(cashPayment, LockMode.Force) для принудительного увеличения версии объекта.
При этом получаю исключение:


SQL, который генерирует NHibernate такой:


Т.е. таблицу он указывает для базового типа, что правильно, но имя столбца идентификатора берет из таблицы производного типа СashPayment — "id_payment", что, естественно, не правильно.

Пробовал вызывать методы:
Lock("Payment", cashPayment, LockMode.Force)
и
Lock("CachPayment", cashPayment, LockMode.Force)
но это ничего не дает.
Даже вызывая
Lock("aaaaaaa", cashPayment, LockMode.Force)
где "aaaaaaa" — несуществующий тип NHibernate все равно падает с той же ошибкой.


Сейчас переименовал столбцы в таблицах производных типов, чтобы совпадали с названием столбца базового типа (т.е. "id"), и все заработало, но все равно хотелось бы понять что я делаю не правильно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.