我在Fluent-NHibernate新組中發佈了這個問題,但到目前爲止一直沒有任何答案。流利的NHibernate是否支持「觸發器身份」
是否有一個流暢的NHibernate生成主鍵的NHibernate「trigger-identity」方法。
感謝
我在Fluent-NHibernate新組中發佈了這個問題,但到目前爲止一直沒有任何答案。流利的NHibernate是否支持「觸發器身份」
是否有一個流暢的NHibernate生成主鍵的NHibernate「trigger-identity」方法。
感謝
因此,原來目前不支持觸發身份。
試試這個:
this.Id(x => x.Id).Column("ID").GeneratedBy.Custom("trigger-identity");
與Fluent build 636一起試用了它,它也可以工作(我的項目也需要這個) – devio 2010-04-14 09:38:52
到目前爲止,我已經找到了唯一的解決辦法是使用hbm.xml文件中爲那些需要觸發身份發電機實體。但是,在使用觸發標識和「長」標識以及我們的Oracle數據庫時,我們遇到了另一個問題。有一個錯誤,NHibernate不會翻譯正確返回的Id值。這裏是JIRA項:
只是爲了保持這個討論了最新:
this.Id(x => x.Id, "id").GeneratedBy.TriggerIdentity();
- >功能NHibernate V.1.1.0.685
我有試過FluentNHibernate v2.0.50727
以下映射工作正常: this.Id(x => x.Id,「id」)。GeneratedBy.TriggerIdentity();
以下映射不再受支持: this.Id(x => x.Id).Column(「ID」)。GeneratedBy.Custom(「trigger-identity」);
如果您使用GenerateBy.Identity()它會失敗嗎? – Dani 2009-11-12 16:43:49
GenerateBy.Identity()使用休眠序列並生成以下SQL INSERT INTO schema.table(table_id的,...)VALUES(schema.hibernate.sequence,...)再次成的table_id:nhIdOutParam 所述的實體問題的ID由插入前生成ID的觸發器分配。 – Dave 2009-11-12 17:42:46