我使用的是Oracle rdbms。
我的映射看起来像这样
Id(x => x.Tid,"ID").Column("ID").GeneratedBy.TriggerIdentity();
但SQL请求最终看起来像:
NHibernate: INSERT INTO bla bla bla :nhIdOutParam = NULL [Type: Int32 (0)]
为什么nhIdOutParam
始终返回 null 值?
fluent-nHibernate版本为1.2.0.712。 nHibernate版本是3.1.0.4000
答案 0 :(得分:0)
我认为这对oracle有用,但不适用于Postgresql。插入以返回nhIdOutParam结束,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;