如果有复合键,如何使用tryGetEntity方法?
是否可以完成,如果是这样,语法是什么?
答案 0 :(得分:0)
该方法将URL指向实体,而不是键属性。现在,大多数OData服务器使用约定来通过URL中的关键属性来寻址实体。这个约定在这里描述http://www.odata.org/developers/protocols/uri-conventions#AddressingEntries。但我强烈建议不要试图自己编写该URL(很容易弄错)。 也许如果你发布了你想要工作的场景,那么可能会有更好的答案。
答案 1 :(得分:0)
我要做的是在本地缓存一些实体。例如。假设客户有州(并且州有多个密钥)。我想在客户端(隔离存储)上缓存状态,所以当我拉下客户并扩展客户状态时,我现在有一个上下文,其中包含2个实体,一个客户和一个州。
在UI中,我可能想要一个用户可以选择的组合框中的状态列表,但我不希望每次下拉状态,因为状态永远不会改变。因此,在将状态添加到上下文的状态列表之前,我需要查看状态是否在上下文中。这是我做TryGetEntity。我已经能够成功地使用具有多个主键的实体(使用名称值对手动构造URL),但它充其量是尴尬的。
首先,如果只有一个键,只有当有一个键时,你才能在url中使用键值对。 其次,似乎键的顺序有所不同?
我同意你手动编写URL是有问题的 - 这就是我问这个问题的原因。
显然,我的例子是对实际情况的简化,但你应该能够看到我的目标。