在查询中启用延迟加载

时间:2012-03-24 15:51:11

标签: nhibernate fluent-nhibernate

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

在为查询编写sql以指定延迟加载哪些列时是否有任何方法?

2 个答案:

答案 0 :(得分:3)

我相信,你使用了错误的方法。将所有映射设置为延迟加载,然后在查询中急切加载您真正需要的内容。这样你就不会杀死这个应用程序。

答案 1 :(得分:0)

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