gpt4 book ai didi

javascript - Breeze : getEntityByKey with expand

转载 作者:行者123 更新时间:2023-11-29 18:19:07 25 4
gpt4 key购买 nike

假设我有一个产品实体列表。然后我想编辑其中一个产品,因此我将调用 getEntityByKey 从缓存中获取它。

但是在编辑屏幕上,我可能会显示比在网格中更多的属性,在我的例子中,我实际上需要对一些 Product 属性执行 expand()。

那么我该如何处理关于缓存的问题呢?如果我使用 getEntityByKey,它不会执行 expand()。我可以执行查询,但是我没有利用缓存的实体(以防我之前已经编辑过产品)。

在这种情况下我应该选择什么策略?

最佳答案

另一种方法:将 isReadyForEdit 标志添加到您的 Product 实体。如果为 false,则使用常规查询获取完整的 Product WITH EXPAND 以获取相关实体。如果是这样,您就知道您在缓存中拥有所需的一切,getEntityByKey 就是您所需要的(因为相关实体也将在缓存中)。确保在任何一种情况下都返回一个 promise ,以便您的调用者逻辑准备好等待。这与 John Papa 示例中的 isPartial 技术相同。

12 月 17 日更新

忘记提及,与 John Papa 的示例不同,您的 isReadyForEdit 不应是未映射的属性,除非您需要序列化其状态(即便如此我也不太确定)。只需将属性添加到实体中即可。

不是说JP做的是错的;很符合他的线下场景。但是,如果您不需要 Breeze 感知功能,则未映射的属性会增加不必要的复杂性

关于javascript - Breeze : getEntityByKey with expand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20541415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com