2010-03-04 58 views
3

我需要從種子表的列中生成一個標識並增加該列中的值。在Fluent NHibernate中從種子表生成標識

Seed Table: 

name  "analysisid" 
id  1 


Analysis Table: 

id 
name 
description 

在分析映射我需要確保該ID是從種子表和插入分析seedid的analysisid是採取updated.Do我實現一個自定義的類繼承TableGenerator?

回答

4

NHibernate包括一些identity generation strategies,幷包括通過NHibernate.Id.IIdentifierGenerator自定義的擴展機制。

你可以通過實現一個插入觸發器來獲取和分配實體分析的下一個標識符。在這種情況下,使用<generator class="trigger-identity" />

另一種方法是通過實施IIdentifierGenerator和映射爲<generator class="My.Namespace.MyIdentifierGenerator" />來構建自己的標識符策略。

Id(x => x.Id).GeneratedBy.Custom<NHibernate.Id.TriggerIdentityGenerator>(); 
Id(x => x.Id).GeneratedBy.Custom<My.Namespace.MyIdentifierGenerator>(); 

在流暢,這些發電機通過映射