0

Я использую Oracle rdbms. Мое отображение выглядит следующим образом Id(x => x.Tid,"ID").Column("ID").GeneratedBy.TriggerIdentity();fluent-nHinernate TriggerIdentity nhIdOutParam всегда возвращает null (Oracle rdbms)

но запрос SQL заканчивает тем, как:

NHibernate: INSERT INTO bla bla bla :nhIdOutParam = NULL [Type: Int32 (0)] 

Почему nhIdOutParam всегда возвращает нуль значение?

версия для печати версия для печати версия для печати 1.2.0.712. nHibernate версия 3.1.0.4000

+0

я думал, что это будет работать для оракула, но не будет для Postgresql. вставка заканчивается «возвратом nhIdOutParam», который присваивает сгенерированный идентификатор этому параметру out – Firo

ответ

0

Я думал, что это сработает для оракула, но не для Postgresql. вставка заканчивается возвратом nhIdOutParam, который присваивает сгенерированный идентификатор этому параметру out.

в псевдокоде

command.CommandText = sql + " return nhIdOutParam"; 
command.Parameter.Add(new Parameter { Name = "nhIdOutParam", Type = outparam, Value = 0 }); 
command.Execute(); 

returnedId = command.Parameter["nhIdOutParam"].Value;