我有一个在一个会话中被多次调用的函数。根据我对 NHibernate 一级缓存的理解,无论调用次数如何,同一会话中的精确查询只会执行一次。
但事实并非如此。下面是代码片段,我可以看到在 NHProfiler 中执行的查询与调用该函数的次数一样多。
public List<CustomerType> GetAllActiveCustomerTypes()
{
return _unitOfWork.CurrentSession.QueryOver<CustomerType>().Where(x => x.Active).List();
}
我在这里理解 NHibernate 是否遗漏了什么?
谢谢