带有Get()的NHibernate Future <T>

Chr*_*eis 2 nhibernate queryover

如何使用Future来延迟执行Get()以检索单个记录(或Load()?)

另外,我可以将Future与分离的QueryOver一起使用

Die*_*hon 5

使用Load的未来没有任何意义,因为Load不会转到DB.

get的未来也没有意义,因为Get返回一个可能已经加载的实例,在这种情况下它也不会进入DB.你可以得到的最接近的是id的查询.

为了得到一个Future<T>你需要一个可执行的查询(Criteria/QueryOver/HQL/LINQ).否则,未来无法解决它.

  • "Get"的未来会很有意义."`FutureGet`"可以返回一个代理,当访问第一个代理时,它可以在单个数据库往返中加载所有"future-got"代理.不刷新会话并且仅包括尚未在缓存中的对象,这与查询相比是"Get"的优点. (2认同)