2009-08-31 14 views
8

Sto usando NHibernate HiLo come generatore di identità. Al momento ho una tabella di sepperate nel mio database per ciascuna delle mie tabelle di entità. Ad esempio, ho una tabella Customer e CustomerKey, ognuna con una colonna NextHiLo.NHibernate HiLo - una tabella per tutte le entità

Quale sarebbe una grande cosa avere un tavolo unico che tiene la chiave per tutti gli altri. Idealmente sarebbe se potessi avere una tabella come questa:

TableName | NextHiLo 
Customer | 19 
Invoice | 5 
Receipt | 3 

Se ciò non se ne possibile con NHibernate, la cosa migliore sarebbe:

CustomerHiLo | InvoiceHiLo | ReceiptHiLo 
19 | 5 | 3 

È una delle due opzioni di cui sopra posible per raggiungere - lo script di generazione dello schema prodotto da NHibernate non sembra supportare nessuno di essi?

+0

So che questa domanda è vecchia, ma come lo hai risolto? Sto cercando di risolvere lo stesso problema. Ho provato il tuo primo approccio con solo 2 colonne, ma sembra che i miei ID siano continui su più tabelle. –

risposta

12

Hai provato a utilizzare la proprietà where del generatore di hilo? Qualcosa di simile:

<class name="Customer"> 
    <id name="Id"> 
     <generator class="hilo"> 
      <param name="where">TableName = 'Customer'</param> 
      ... 
     </generator> 
    </id> 
    ... 
</class> 
Problemi correlati