0

私はOracle rdbmsを使用しています。 私のマッピングは、この Id(x => x.Tid,"ID").Column("ID").GeneratedBy.TriggerIdentity();流暢nHinernate TriggerIdentity nhIdOutParamは常にnullを返します(Oracle rdbms)

のように見えますが、SQL要求は、ように見える終わる:

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

なぜnhIdOutParamは常にヌル値を返すのですか?

fluent-nHibernateバージョンは1.2.0.712です。 nHibernateのバージョンは3.1.0.4000です

+0

として

私は、これはOracleのだろうがないPostgresqlのために働くだろうと思いました。 insertは 'nhIdOutParam'を返すことで終了し、生成されたidをこのoutパラメータに割り当てます – Firo

答えて

0

私はこれがoracleではうまくいくと思っていましたが、Postgresqlではこれはできません。挿入が終了し、nhIdOutParamが返され、生成されたidがこのoutパラメータに割り当てられます。擬似コード

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

returnedId = command.Parameter["nhIdOutParam"].Value; 
関連する問題