2013-06-18 10 views

risposta

6

Credi o no, anche questo è possibile con NHibernate. Se si avrebbe ad esempio classe mappata in questo modo:

<class name="Contact" table="[dbo].[Contact]" lazy="true" > 
    <cache usage="read-write" region="ShortTerm"/> 

e c'è una vista sulla parte superiore della tabella [dbo].[Contact] che viene mappato a un'altra classe:

<class name="ViewContact" table="[dbo].[ViewContact]" lazy="true" > 
    <cache usage="read-write" region="ShortTerm"/> 
    <!-- at this moment the View and table are treated differently --> 

Poi l'impostazione magia va direttamente sotto la <cache> e ed è chiamato <synchronize>

<class name="ViewContact" table="[dbo].[ViewContact]" lazy="true" > 
    <cache usage="read-write" region="ShortTerm"/> 
    <synchronize table="[dbo].[Contact]"/> 
    <!-- now both caches are synchornized --> 

e ora, qualsiasi cha NGES a mappato classe Contatto sarà anche innescare la pulizia della cache del ViewContact classe mappata alla vista

+1

+1, si impara qualcosa ogni giorno .... Non sapeva una regione di cache potrebbe essere condivisa in questo modo. – Rippo

Problemi correlati