NHibernate + Oracle: хотя некоторые поля не обновляются внутри хранимой процедуры при вызове из NHibernate - PullRequest
0 голосов
/ 30 мая 2011

Я использую NHibernate с базой данных Oracle 11g R2.Все мои объекты создаются / обновляются / удаляются из хранимых процедур PL / SQL, а не напрямую из запросов клиента "INSERT INTO .." и т. Д.

Каждая таблица базы данных имеет поле "UPDATED_DATE", которое сохраняет дату и времяпоследняя модификация записи.Это поле обновляется вместе с ценными полями (Имя, Код, Последовательный и т. Д.) Внутри соответствующей хранимой процедуры PL / SQL.Но когда я связываю это поле со свойством класса POCO через NHibernate, процесс обновления поля перестает работать (в то время как другие поля, которые обновляются тем же запросом внутри хранимой процедуры, успешно обновляют свое значение).Моя идея и цель заключается в том, что свойство POCO «UpdatedDate» должно считывать свое значение из поля «UPDATED_DATE», но теперь оно выглядит так, потому что свойство «UpdatedDate» имеет значение null, поэтому NHibernate устанавливает для поля «UPDATED_DATE» также значение NULL.

Единственным сюрпризом является то, что каждая таблица имеет поле «CREATED_DATE», а каждый соответствующий класс POCO - свойство «CreatedDate», которое устанавливается во время вставки записи.И эта ссылка работает нормально - «CREATED_DATE» заполняется в хранимой процедуре создания, после того, как ее значение успешно считывается в свойство POCO «CreatedDate».

Как решить проблему с парой UPDATED_DATE - updatedDate?

PS При необходимости я могу предоставить пример решения для MSVS 2010 / .NET 4.0 / NHibernate 3.0 с одним образцом данных.

Архив решения PPS находится здесь: http://depositfiles.com/files/h1t7appb5

...