2011-09-21 44 views
1

在NHibernate 1.2中,是否可以让数据库触发器生成ID?基本上我们需要改变我们的一个表来停止使用序列,而是使用触发器来生成主键。所以显然我需要更新nhibernate映射来使用不同的生成器类,但我不确定我应该使用哪个类,或者即使在1.2中支持这种类。任何帮助将不胜感激。谢谢!由数据库触发器生成的NHibernate 1.2 Id

回答

0

NHibernate的允许你这样做,但只有starting from 2.1.0

触发身份

的“触发标识”是其中由RDBMS在产生的POID 一个NHibernate的特定功能INSERT查询通过BEFORE INSERT 触发。在这种情况下,你可以使用任何支持的类型,包括自定义 类型,以“单柱”(到目前为止)的限制...

选择

“选择”发电机是一种偏差的“触发身份”。这 生成器与自然id功能一起工作。所不同的 “触发标识”是的POID值利用自然-ID字段滤波器SELECT 检索...

如果你不想升级到更高版本的NHibernate(因为.NET 1.1?),那么你可以尝试Ayende's custom dialect solution或扩展NHibernate作为suggested here