2010-03-22 18 views
5

benim NHibernate yapılandırmasında belirtilen bir önbellek bölgesini NHibernate kullanarak ve var am:NHibernate önbellek/silme sorunu?

<class name="UserDefinedGroup" table="Message_Groups"> 
    <cache region="HalfHour" usage="read-write" /> 
    ... 
</class> 
: Ben bir varlık tanımı var

<cache region="HalfHour" expiration="1800" priority="3" /> 

okuma-yazma modunda bu önbellek bölgeyi kullanacak şekilde ayarlanır (UserDefinedGroup)

var results = Session.CreateQuery("from UserDefinedGroup order by Name") 
       .SetCacheable(true) 
       .SetCacheRegion("HalfHour") 
       .List<UserDefinedGroup>(); 
: o UserDefinedGroup örnekleri çok sayıda döner olarak

Ben de sorgu önbelleği kullanmak üzere ayarlanmış bir HQL sorgu var

Ancak, UserDefinedGroup örneğini sildiğim ve sildiğimde, varlık okuma-yazma önbelleğini kullanacak şekilde ayarlanmış olsa da aşağıdaki hatayı alıyorum.

ReadOnlyCache: Bir salt okunur nesne Cristal.Model.UserDefinedGroups.UserDefinedGroup

Tamamen noktayı eksik veya burada NHibernate önbelleğe yanlış anlama muyum yazılamıyor? Bunu silme işlemini gerçekleştirmesini beklerim ve önbellek kendiliğinden uygun bir şekilde ilgilenir, ama açıkça bu gerçekleşmez.

+1

Bu önbellek bölgesi başka varlıklar tarafından kullanılıyor mu? Öyleyse, salt okunur olan önbellek kullanımları var mı? Belirli bir bölge yalnızca bir kullanım türüne sahip olmalıdır. – ddango

+0

Teşekkürler ddango, bu tam olarak sorun gibi görünüyordu. Yeni bir önbellek alanına taşımak onu düzeltdi. Cevabı bir yorum olarak değil, bir yanıt olarak gönderdiyseniz çözüm olarak kabul ediyorum :) –

cevap

4

Bu önbellek bölgesi başka varlıklar tarafından kullanılıyor mu? Öyleyse, salt okunur olan önbellek kullanımları var mı? Belirli bir bölge yalnızca bir kullanım türüne sahip olmalıdır.