我希望能够通过代码清除NHibernate中的整个二级缓存。有一种方法可以独立于所使用的缓存提供程序吗?(我们有客户在同一个应用程序中使用memcache和syscache)。
由于数据库外部的更改可能已经发生(且我们无法保证哪些表/实体会受到影响,因此我们必须假定最坏情况),我们希望清除整个缓存。请注意保留HTML标记。
由于数据库外部的更改可能已经发生(且我们无法保证哪些表/实体会受到影响,因此我们必须假定最坏情况),我们希望清除整个缓存。请注意保留HTML标记。
sessionFactory.EvictQueries();
foreach (var collectionMetadata in sessionFactory.GetAllCollectionMetadata())
sessionFactory.EvictCollection(collectionMetadata.Key);
foreach (var classMetadata in sessionFactory.GetAllClassMetadata())
sessionFactory.EvictEntity(classMetadata.Key);