我在使用Fluent NHibernate插入记录时遇到问题。代码试图从KEY字段中不存在的序列中获取数字。
{“无法插入:[类名] [SQL:INSERT INTO Schema.TableName(KEY,ID)VALUES(hibernate_sequence.nextval,?)将KEY返回到:nhIdOutParam]”}
当然,数据库中不存在hibernate_sequence序列。如果我使用SQL Developer进行插入,请说:
INSERT INTO Schema.TableName(ID)VALUES(90);这是有效的,我的主键(KEY)是自动生成的。
我知道您可以使用序列来使用GenerateBY.Sequence()自动生成此值,但有没有办法使用关于使用Fluent Nhibernate的SQL语句插入记录?
我将我的类映射到我班上的主键,例如
Id(x => x.Id, "KEY");
答案 0 :(得分:0)
使用它。它将插入除了Id之外的所有字段,这将允许Oracle为您设置它。
Id(x => x.Id, "KEY").GeneratedBy.Increment();