用OData快速加载

用OData快速加载,odata,eager-loading,netflix,Odata,Eager Loading,Netflix,我目前正在使用Netflix OData api开发一个小型原型。我希望总是热切地加载实体。换句话说,我不想专门“扩展”属性。相反,我只想在获取给定实体时加载该实体的所有属性。我不是在这里征求设计或建筑方面的建议。我知道这样做的含义。有没有一种方法可以在上下文级别打开即时加载 感谢如上所述,这在WCF数据服务的任何内置功能中都是不可能实现的。您可以使用一些代码将$expand注入到客户端的URL中,这样看起来就不必显式地执行 某些通用解决方案的问题是: 启用此选项将传输大量数据,即使应用程序可

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


感谢

如上所述,这在WCF数据服务的任何内置功能中都是不可能实现的。您可以使用一些代码将$expand注入到客户端的URL中,这样看起来就不必显式地执行

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

  • 启用此选项将传输大量数据,即使应用程序可能不需要它
  • 这应该达到多少水平?只有一个、两个或多个。它不能是无限的,因为实体图中可能有循环

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

据我所知,这是不可能的。我不是最初讨论的一部分,但如果有讨论的话,很可能是围绕着做一个急切加载的服务是多么容易。您可以使用URL重写将$expand附加到所有查询中。我还建议在上添加一个功能请求,如果你认为它很重要,让人们投票表决。我担心是这样,但我理解为什么。我正在尝试这个DataServiceContext.LoadProperty,或者只是简单地在我需要加载的所有东西上扩展(“实体/属性”)。虽然不理想,但它目前仍有效。