2013-11-21 161 views
0

裏面例如:防止數據庫訪問兩次相同的查詢一個會話

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

這種查詢可以從不同的方式,我的代碼兩次評估(檢查是否存在用戶和一些數據保存到餅乾)。事件探查器顯示nhibernate在一個會話內訪問了兩次該查詢的數據庫。是否可以配置nhiberate /映射不執行相同的會話內相同的查詢?

在此先感謝

回答

1

聽起來像你想的二級緩存和查詢緩存。

從NHibernate的參考,部分19.4 The Query Cache

查詢結果集也可以被緩存。這隻對使用相同參數頻繁運行的查詢很有用。

相關問題