C# NHibernate查询缓存问题

C# NHibernate查询缓存问题,c#,vb.net,nhibernate,fluent-nhibernate,C#,Vb.net,Nhibernate,Fluent Nhibernate,我正在开发一个windows窗体智能客户端,它使用Fluent Nhibernate 1.1和Nhibernate 3.0进行持久化。 由于遗留代码,我别无选择,只能创建一个单独的会话来处理所有客户端级别的CRUD操作。 这会使Nhibernate会话处于过时状态。所以我决定使用QueryOver来消除这个陈旧的数据问题,因为我觉得查询结果没有被缓存。 这似乎并没有发生,因为从NHibernate返回的结果似乎被缓存了 我的问题是QueryOver的默认实现在返回结果时是否使用某种缓存 NHib

我正在开发一个windows窗体智能客户端,它使用Fluent Nhibernate 1.1和Nhibernate 3.0进行持久化。 由于遗留代码,我别无选择,只能创建一个单独的会话来处理所有客户端级别的CRUD操作。 这会使Nhibernate会话处于过时状态。所以我决定使用QueryOver来消除这个陈旧的数据问题,因为我觉得查询结果没有被缓存。 这似乎并没有发生,因为从NHibernate返回的结果似乎被缓存了


我的问题是QueryOver的默认实现在返回结果时是否使用某种缓存

NHibernate使用一个标识映射,它保证无论您如何从数据库中获取一个实体,您都将为同一行(即会话内部)获取相同的对象

对winforms应用程序使用单个会话是一个错误;你看到的问题只是冰山一角

要在winforms应用程序中更好地处理会话,请选中