2010-04-07 4 views
1

J'ai des difficultés à mettre en cache correctement les relations un-à-plusieurs ou plusieurs-à-plusieurs dans NHibernate.Mise en mémoire cache de second niveau de NHibernate des collections

Par exemple, une classe de bureau peut avoir le mappage suivant:

public OfficeDbMap() 
{ 
    ... 
    HasMany(x => x.Employees) 
     .Cache.NonStrictReadWrite(); 
} 

Cependant, je trouve que lorsque je supprime un employé (sans supprimer spécifiquement sa relation au bureau), que le cache de bureau-> les employés ne sont pas invalidés et l'employé continue d'apparaître dans la liste des employés du bureau. Je suppose que cela peut avoir quelque chose à voir avec les régions de cache, mais je ne sais pas si la région devrait être la région du bureau ou la région de l'employé (en fait, j'ai essayé de spécifier les deux et aucun travail).

Répondre

1

Le problème peut être la configuration NonStrictReadWrite.
Vous devez utiliser le Read-Write strategy.

Questions connexes