NHibernate每个表的会话生命周期不同

时间:2012-02-24 13:32:01

标签: c# nhibernate session

我正在运行一个wpf应用。使用nhibernate会话,您只需查询一次表,您可以从缓存中多次访问它。

但我喜欢在整个应用程序中缓存一些表,因为它们几乎永远不会改变,比如用户和用户组。我应该为整个应用程序使用一个会话还是有其他解决方案?

2 个答案:

答案 0 :(得分:3)

NHibernate作为会话的一部分提供的缓存被称为第一级缓存。

对于缓存超过会话持续时间的事情,您需要查看second level cache。 NHibernate附带了几个缓存提供程序(memcached,SysCache等)的实现。

答案 1 :(得分:1)

这是一篇关于如何使用FluentNHibernate配置二级缓存的优秀文章

http://www.markhneedham.com/blog/2010/06/16/fluent-nhibernate-and-the-2nd-level-cache/