BreezeJS core.config changes



在以前的版本中,我使用了setProperties和省略的跟踪实现,我决定手动使用挖空来加快速度,(我有很多实体)。

现在它更改为此语法,即使我注释掉了"ko"行,它仍然会创建可观察量,有没有办法防止这种情况?

core.config.initializeAdapterInstances({
//        modelLibrary: "ko",
          dataService: "webApi"
});

我正在将大约 5000-10000 个实体加载到缓存中,这些是"客人",将在晚上从客人列表中勾选,我需要将它们离线存储,因为如果我失去连接,那么应用程序将无法完成其工作。我也在移动设备上运行,这有一个额外的打击,当我使用 KO 时,从服务器带来的每个实体都变成了可观察属性的列表,这显然是矫枉过正,并且使 iPhone 上的 safari 崩溃。相反,我等待用户使用 breezejs 本地查询从 10,000 个实体中进行搜索,然后为搜索结果中的每个来宾实例化具有可观察量的来宾。这允许我使用挖空进行绑定,而忽略其余实体,它运行良好,在ios设备上也表现良好。现在只是阅读"扩展实体"

谢谢

我在您的评论中看到您尝试过...modelLibrary: backingStore....我打算建议这个。但后来我担心您的手动 KO 属性会绕过后备商店属性并且轮子会脱落。我认为如果您添加读取和写入支持存储属性的 KO 计算,它可以工作(尚未尝试过)......但他们必须有不同的、不冲突的名字,对吧?

让我们暂时回到根本原因。使用 ko 模型库有什么太慢的地方,你做的什么更快?我很难想象KO属性的定义如何成为性能问题。您如何测量速度差?速度差异是什么?

此外,您是否尝试在自己的实体类型构造函数中定义 KO 属性,并将该构造函数注册到MetadataStore,如"扩展实体"中所述?

最新更新