NHibernate 1.2 Id由数据库触发器生成

时间:2011-09-21 18:46:36

标签: nhibernate

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

1 个答案:

答案 0 :(得分:0)

NHibernate允许您这样做,但只允许starting from 2.1.0

  

<强>触发标识

     

“trigger-identity”是一个NHIDnate特定功能,其中包含POID   由RADMS在INSERT查询中通过BEFORE INSERT生成   触发。在这种情况下,您可以使用任何支持的类型,包括自定义   类型,限制为“单列”(到目前为止)......

     

选择

     

“select”生成器是“trigger-identity”的偏差。这个   发电机与自然功能一起工作。区别   “trigger-identity”是SELECT检索POID值   使用natural-id字段作为过滤器......

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