NHibernate-如何加载整个对象图,然后将其与所有子对象和子对象一起缓存

NHibernate-如何加载整个对象图,然后将其与所有子对象和子对象一起缓存,nhibernate,Nhibernate,我不理解以下情况。我有一种情况,我需要将孩子和孙子孙女与实体一起加载。我已经指定集合是lazyload的,但是使用分离的条件急切地获取所有行,并将fetchmode设置为eager。我有以下问题: NHibernate需要很长的时间来水合对象-但是实际的查询运行得很快 我将结果列表放入.net MemoryCacheManager对象中,似乎过了一段时间,孙子们似乎退出了该对象,我得到了一个lazyload异常 如何确保结果返回的整个图形在MemoryCacheManager对象中保持不变?se

我不理解以下情况。我有一种情况,我需要将孩子和孙子孙女与实体一起加载。我已经指定集合是lazyload的,但是使用分离的条件急切地获取所有行,并将fetchmode设置为eager。我有以下问题:

  • NHibernate需要很长的时间来水合对象-但是实际的查询运行得很快
  • 我将结果列表放入.net MemoryCacheManager对象中,似乎过了一段时间,孙子们似乎退出了该对象,我得到了一个lazyload异常
    如何确保结果返回的整个图形在MemoryCacheManager对象中保持不变?session.execute是否有帮助?

    最终使用QueryOver future查询并将结果展平到DTO中,最终缓存DTO。

    最终使用QueryOver future查询并将结果展平到DTO中,最终缓存DTO。

    session.execute会从会话缓存会话中删除实体。execute会删除实体会话缓存中的实体