我将 NHibernate/Fluent NHibernate 与 Oracle 结合使用,但遇到了问题。我已经定义了以下映射文件:
public OrderMap()
{
Table("ORDERS");
Id(x => x.OrderId, "ORDER_ID").GeneratedBy.Sequence("select ORDERS_SQ.nextval from orders");
Map(x => x.CreatedBy, "CREATED_BY");
Map(x => x.OrderStatusCd, "ORDER_STATUS_CD");
Map(x => x.StoreGroupId, "STORE_GROUP_ID");
Map(x => x.IsActive, "IS_ACTIVE");
Map(x => x.OrderDate, "ORDER_DATE");
}
当我去运行我的项目时,我收到以下错误:
创建 SessionFactory 时使用了无效或不完整的配置。
如果我删除 .GeneratedBy.Sequence("select ORDERS_SQ.nextval from orders");
行,应用程序会运行,但在保存记录时我显然没有得到下一个序列。我试过只做 .GeneratedBy.Sequence("ORDERS_SQ");
但我似乎什么都做不了。
谁能告诉我使用 Fluent NHibernate 正确获取下一个可用序列的正确方法吗?
我正在使用 Fluent NHibernate 1.1 和 NHibernate 3.0 Beta。
谢谢。
最佳答案
只需指定序列的名称:
Id(x => x.OrderId).Column("ORDER_ID").GeneratedBy.Sequence("ORDERS_SQ");
// Real working code:
Id(x => x.Id).GeneratedBy.Sequence("SEQ_Catalog1");
关于oracle - 如何正确使用Fluent NHibernate在Oracle中获取下一个Sequence?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4097784/