渴望加载OData

时间:2012-04-25 15:16:07

标签: odata eager-loading netflix

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

谢谢

1 个答案:

答案 0 :(得分:2)

正如Mark上面提到的,目前WCF数据服务的任何内置功能都无法实现。你可以使用一些代码将$ expand注入到客户端的URL中,这样看起来你不必显式地执行它。

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

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

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