控制 NHibernate 实体 Eagerloading

Controlling NHibernate entity Eagerloading

我对 NHibernate 比较陌生。我正在开发一个 Web 应用程序,我需要在其中从 Hibernate 会话中分离实体并将其传递给 UI 以进行更改。我正在使用 NHibernateUtil.Initialize 来预加载实体。我面临的问题是实体有很多集合,有些集合甚至有子集合,所以当我使用 NHibernateUtil.Initialize 时,它急切地加载所有集合,这又增加了我在服务层使用 ASP.NET Webapi 传递给 UI layer.I 的 JSON 数据。有没有一种方法可以控制对实体中我需要的特定集合的预先加载。任何帮助将不胜感激

谢谢

在您的映射中,您可以指定延迟加载集合和引用的默认行为。您如何创建映射?您可以通过在单个查询中指定提取策略来覆盖默认值。您使用什么模块进行查询(QueryOver、Linq 等)?我的偏好是始终将默认值设置为延迟加载,然后根据需要预先获取。

此外,我的偏好是不将实体直接传递到 UI 层,而是在控制器中创建一个 ViewModel。