【发布时间】:2015-02-24 17:11:41
【问题描述】:
我对 NHibernate 比较陌生。我正在开发一个 Web 应用程序,在该应用程序中我需要从 Hibernate 会话中分离实体并将其传递给 UI 以进行更改。我正在使用 NHibernateUtil.Initialize 来急切加载实体。我面临的问题是实体有很多集合,有些集合甚至有子集合,所以当我使用 NHibernateUtil.Initialize 时,它急切地加载所有集合,这反过来又增加了我传递给 UI 层的 JSON 数据。我在服务层中使用 ASP.NET Webapi。有没有办法控制急切加载到我在实体中需要的特定集合。任何帮助将不胜感激
谢谢
【问题讨论】:
-
我会说,该解决方案不在数据层。不在 NHibernate 内部,也不是通过使用急切加载。解决方案应该在服务层上。实施自定义解析器,将它们注入 JSON 序列化程序设置。这些应该能够驱动您的实体应该加载多深并转换为 JSON。或者 - 使用 DTO。这些应该由一些映射器填充(实际上类似于解析器)。但是不要把这个要求放在 NHiberante 上。它不是 JSON 转换的工具
-
你尝试了什么?你能发布一些代码吗?
标签: c# hibernate nhibernate asp.net-web-api orm