在查询中启用延迟加载



我已经将NHibernate设置为不延迟加载我的实体。但有时当我进行查询时,我不希望加载所有孩子的孩子。映射由Fluent NHibernate设置。

在为查询编写sql时,有什么方法可以指定要延迟加载的列吗?

我认为,您使用了错误的方法。将所有映射设置为惰性加载,然后在查询中只加载您真正需要的映射。这样你就不会破坏应用程序。

您可以在类映射中的约定中覆盖Fluent mappings中定义的所有映射。NHibernate也有不同的场景(例如,如果您加载/获取一个实例,则所有属性都将按照映射中的定义进行提取。如果您获取项目列表,则除非显式使用Fetch方法,否则不会发生这种情况)。那么,你能提供更多关于你的问题的细节,以给出更准确的答案吗?

最新更新