1

我目前正在使用 Netflix OData api 开发一个小型原型。我想总是热切地加载实体。换句话说,我不想专门“扩展”属性。相反,我只想在获取该实体时加载给定实体的所有属性。我不是在这里寻求设计或建筑方面的建议。我知道这样做的含义。有没有办法在上下文级别打开预先加载?

谢谢

4

1 回答 1

2

正如上面 Mark 所指出的,WCF 数据服务的任何内置功能目前都无法做到这一点。您可以使用一些代码将 $expand 注入客户端的 URL 中,这样看起来您不必显式地执行此操作。

一些通用解决方案的问题是:

  • 开启它会传输大量数据,即使应用程序可能不需要它。
  • 这应该是多少级?只有一个,两个,或者很多。它不能是无限的,因为实体图中可能存在循环。

您还可以修改客户端类以在访问时延迟加载属性。有一个 API DataServiceContext.LoadProperty,所​​以只需在正确的位置调用它。

于 2012-04-25T17:44:32.490 回答