在一个会话中阻止对同一查询访问数据库两次

时间:2013-11-21 14:09:17

标签: nhibernate linq-to-nhibernate

例如:

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

该查询可以在我的代码中使用不同的方法进行两次评估(检查用户是否存在并将一些数据保存到cookie中)。 Profiler在一个会话中显示nhibernate访问数据库两次。是否可以配置nhiberate / mappings不在同一会话中执行相同的查询?

提前致谢

1 个答案:

答案 0 :(得分:1)

听起来你想要第二级缓存和查询缓存。

来自NHibernate参考,19.4 The Query Cache部分:

  

也可以缓存查询结果集。这仅适用于使用相同参数频繁运行的查询。