OData中的延迟正则属性

OData中的延迟正则属性,odata,Odata,在OData协议中,有一种延迟表示导航属性(即指向特定资源或集合的链接)的方法,这样服务器就不会向客户端返回额外数据 我的问题是,我能对正则属性做同样的事情吗?我有一个数据结构,它有一个属性,服务器需要很长时间来计算,我希望客户端在默认情况下不接收该值 该属性在逻辑上是实体的一部分,不是导航属性。在OData文档中,我在任何地方都看到了延迟内容,它是关于延迟导航属性的。想知道是否有可能推迟常规属性,如果没有,我的备选方案是什么。我认为这是不可能的 或者,您可以将计算属性隔离到另一个实体中(例如,

在OData协议中,有一种延迟表示导航属性(即指向特定资源或集合的链接)的方法,这样服务器就不会向客户端返回额外数据

我的问题是,我能对正则属性做同样的事情吗?我有一个数据结构,它有一个属性,服务器需要很长时间来计算,我希望客户端在默认情况下不接收该值


该属性在逻辑上是实体的一部分,不是导航属性。在OData文档中,我在任何地方都看到了延迟内容,它是关于延迟导航属性的。想知道是否有可能推迟常规属性,如果没有,我的备选方案是什么。

我认为这是不可能的

或者,您可以将计算属性隔离到另一个实体中(例如,将MyEntity拆分为MyEntity和MyEntityCalculations)。然后,您可以将原始实体的ID重新用作第二个实体的ID


因此,如果您有一个ID=32的实例myEntity,那么您可以有一个ID=32的实例myEntityCalculations,它只包含计算出的属性。

您可以在客户端上使用投影,您将只收到投影的属性。 但是,您不会获得指向非投影属性的链接,这仅针对导航属性实现

希望这有帮助


Monica Frintu

这是否意味着myEntityCalculations也需要一个名为ID的附加属性,因为它需要是密钥?或者说myEntityCalculations的ID指的是myEntity的ID?当然,您需要共享该ID——因此两个实体都有一个ID属性。