1

我的 Object1 类型的对象包含 List Children1 属性。我很想在没有孩子的情况下得到这些物品。

似乎 detachedCriteria.SetFetchMode ("Children1", FetchMode.Lazy) 应该是事情,但显然不是:(我尝试使用 (new SessionScope()) 获取数据并将 null 设置为 .Children1 但它没有成功(数据已被提取)。

任何想法,将不胜感激。

4

4 回答 4

0

当您映射集合时,您是否指定不使用延迟加载?此时尝试指定延迟加载。

于 2010-01-13T12:23:10.880 回答
0

在我看来,您正在使用一对一映射。在这种情况下,延迟加载将无法正常工作。如果是这样,请查看这篇文章。否则,请提供更多代码和映射。

于 2010-02-22T14:21:10.030 回答
0

使用 ICriteria API 检索实体时,您可以指定(覆盖)必须用于关联的 fetchmode:

ICriteria crit = session.CreateCriteria (typeof(MyEntity));
crit.SetFetchMode ("someAssociationPath", FetchMode.Lazy);
于 2010-02-22T14:04:33.013 回答
0

我们在当前的解决方案中遇到了同样的问题,并且在映射中设置 Lazy 不起作用。我们不得不将 default-lazy 设置为 true,然后它突然起作用了。

如果默认情况下所有关系都应该是惰性的,这将最有效。

于 2010-01-13T12:25:07.247 回答