我目前正在使用Netflix OData API做一个小原型。我想总是热切地加载实体。换句话说,我不想特意“展开”属性。相反,我想只是在获取实体时加载给定实体的所有属性。这里我没有要求设计或建筑建议。我知道这样做的含义。有没有办法打开在上下文级别的急切加载?用OData急切加载
感谢
我目前正在使用Netflix OData API做一个小原型。我想总是热切地加载实体。换句话说,我不想特意“展开”属性。相反,我想只是在获取实体时加载给定实体的所有属性。这里我没有要求设计或建筑建议。我知道这样做的含义。有没有办法打开在上下文级别的急切加载?用OData急切加载
感谢
正如马克上面所指出的,这是目前不可能与任何内置的WCF数据服务的功能。您可以使用一些代码将$ expand注入到客户端的URL中,这样看起来您不需要明确地这样做。
一些通用的解决方案的问题是:
你也可以修改你的客户端类来延迟加载访问属性。有一个API DataServiceContext.LoadProperty,所以只需在正确的位置调用它即可。
我很害怕这种情况,但我明白为什么。我想这个DataServiceContext.LoadProperty或只是简单的.Expand(“实体/财产”),我需要急切加载。不理想,但它现在工作。 – Buzzer 2012-04-25 19:10:11
据我所知,这是不可能的。我不是原来的讨论的一部分,但是如果有一个,它很可能集中于DoS是一种非常容易的服务。您可以使用URL重写将$ expand附加到所有查询中。 我还建议在https://data.uservoice.com/forums/72027-wcf-data-services-feature-suggestions添加功能请求,并让人们投票,如果你认为这很重要。 – 2012-04-25 15:49:00