2013-11-21 160 views
0

里面例如:防止数据库访问两次相同的查询一个会话

User user = GetSession().Query<User>().SingleOrDefault(u => u.Login == login); 

这种查询可以从不同的方式,我的代码两次评估(检查是否存在用户和一些数据保存到饼干)。事件探查器显示nhibernate在一个会话内访问了两次该查询的数据库。是否可以配置nhiberate /映射不执行相同的会话内相同的查询?

在此先感谢

回答

1

听起来像你想的二级缓存和查询缓存。

从NHibernate的参考,部分19.4 The Query Cache

查询结果集也可以被缓存。这只对使用相同参数频繁运行的查询很有用。

相关问题